[转载]c#中 uint--byte[]--char[]--string相互转换汇总
生活随笔
收集整理的這篇文章主要介紹了
[转载]c#中 uint--byte[]--char[]--string相互转换汇总
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在在做一些互操作的時候往往需要一些類型的相互轉換,比如用c#訪問win32api的時候往往需要向api中傳入DWORD參數即:uint參數這些數值所表示的數據在實際的應用中可能需要以字符的形式顯示,但是c#對api的關系無法跟c++相比,所以在c#中進行一些類型數據的轉換十分必要了,
下面將用到的一些簡單的轉換操作貼上來,方便記憶
uint--->byte[]byte[] bpara =System.BitConverter.GetBytes(uint upara);byte[]--->uintuint upara= System.BitConverter.ToUint32(bpara);byte--->charsystem.convert.tochar(bpara);char--->bytesystem.convert.tobyte(cpara);byte[]--->char[](1)char[] cpara= System.Text.Encoding.Default.GetChars(bpara);(1)(2)char[] cpara=new char[bpara.length];for(int i=0;i <bpara.length;i ++){char[i]=system.convert.tochar(bpara[i]);} (3)char[] cpara= new ASCIIEncoding().GetChars(bpara);char[]--->byte[](1)byte[] bpara= System.Text.Encoding.Default.GetBytes(cpara); (2) byte[] bpara= new ASCIIEncoding().GetBytes(cpara);char[]--->stringString spara=new String(cpara);string---char[]char[] cpara=spara.ToCharArray()uint---->char[](1)uint-->byte[];(2)byte[]-->char[]; uint--->string(1)uint-->byte[];(2)byte[]-->char[];(3)char[]-->string;byte[]--->string(1).byte[]-->char[];(2).char[]-->string;(3) new ASCIIEncoding().GetString(bprar);char[]--->uint(1).char[]-->byte[];(2).byte[]-->uint;string--->byte[]bpara= System.Text.Encoding.Default.GetBytes(sPara)string--->uint(1)string-->byte[];(2)byte[]-->uint;注意在跟api用uint進行字符交互的時候,一定要注意字符順序,涉及到api中高低位數據的問題,即獲取到api中DOWRD的數據在c#表示中往往是反序,所以在c#中獲取或者傳遞字符串時一定要注意反序處理后才能轉換成uint給api使用,有機會好好總結一下貼上來。 我舉個例子: 這個是遠望谷860讀寫器關于時間的類. #region 設置間隔時間 取消間隔時間/// <summary>/// 設置間隔時間 string t/// </summary>/// <param name="t"></param>/// <returns></returns>public static bool SXCSetTimeFilter(ushort t){byte[] t1 = BitConverter.GetBytes(t);byte[] t2 ={ t1[1], t1[0] };int i = XCSetTimeFilter(ptr, t2);if (i == 1)return true;else{//MSG("Error Code: " + i.ToString());return false;}}/// <summary>/// 取消時間限制./// </summary>/// <returns></returns>public static bool SXCCancelTimeFilter(){int r = XCCancelTimeFilter(ptr);if (r == 1)return true;elsereturn false;}#endregion
轉載于:https://www.cnblogs.com/linyefeilyft/archive/2013/04/25/3042641.html
總結
以上是生活随笔為你收集整理的[转载]c#中 uint--byte[]--char[]--string相互转换汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蟑螂可以用水烫死么?
- 下一篇: 电力物联网龙头企业 有实力还要有热度才能