日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

[转载]c#中 uint--byte[]--char[]--string相互转换汇总

發布時間:2024/10/12 C# 120 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载]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相互转换汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。