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

在在做一些互操作的时候往往需要一些类型的相互转换,比如用c#访问win32api的时候往往需要向api中传入DWORD参数 即:uint参数这些数值所表示的数据在实际的应用中可能需要以字符的形式显示,但是c#对api的关系无法跟c++相比,所以在c#中进行一些类型数据的转换十分必要了,
    下面将用到的一些简单的转换操作贴上来,方便记忆

//uint--->byte[]
byte[] bpara =System.BitConverter.GetBytes(uint upara);

//byte[]--->uint
uint upara= System.BitConverter.ToUint32(bpara);

//byte--->char
system.convert.tochar(bpara);

//char--->byte
system.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[]--->string
String 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使用,有机会好好总结一下贴上来。

c#中 uint--byte[]--char[]--string相互转换汇总的更多相关文章

  1. golang []byte 和 string相互转换

    原文链接:golang []byte和string相互转换 测试例子 package main import ( "fmt" ) func main() { str2 := &qu ...

  2. C#中的Byte,String,Int,Hex之间的转换函数。

    /// <summary> Convert a string of hex digits (ex: E4 CA B2) to a byte array. </summary> ...

  3. 数组Byte [] 和 string 相互转换

    using System; using System.Collections.Generic; using System.Text; namespace NET.MST.Fourth.StringBy ...

  4. java的byte[]与String相互转换

    String转byte[] byte[] sInput = new byte[0]; try { // 可以指定编码,默认也只UTF-8 sInput = "这是内容".getBy ...

  5. bit,byte,char,string区别与基本类型认识

    bit.byte.位.字节.汉字的关系 1 bit     = 1  二进制数据        1 byte  = 8  bit        1 字母 = 1  byte = 8 bit       ...

  6. golang []byte和string相互转换

    测试例子 package main   import (     "fmt" )   func main() {     str2 := "hello"     ...

  7. C++ 中 int,char*,string,CString之间相互转换-整理

    <多字符集下> #include <string> //使用C++标准库的string类时, 定义时 std::string str; using namespace std; ...

  8. C#中char[]与string之间的转换;byte[]与string之间的转化

    目录 1.char[]与string之间的转换 2.byte[]与string之间的转化 1.char[]与string之间的转换 //string 转换成 Char[] string str=&qu ...

  9. java中的BigDecimal和String的相互转换,int和String的类型转换,Integer类和String相互转换

    一: /*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ 注:BigDecimal在数据库中存的是number类型. import java.math.B ...

随机推荐

  1. 再读TCP/IP网络7层协议

    随着工作的深入,每次读这7层协议,每次都有不同的理解. 分层名                                                               分层号   ...

  2. mongodb中的排序和索引快速学习

    在mongodb中,排序和索引其实都是十分容易的,先来小结下排序: 1 先插入些数据    db.SortTest.insert( { name : "Denis", age : ...

  3. dia 在Linux(ubuntu)下无法输入中文的解决办法 .

    我是执行一下命令安装的 sudo apt-get install dia sudo apt-get install dia 打开软件后发现不能输入中文,网上搜索一圈后找到以下解决方案 sudo vim ...

  4. hdu5119(dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5119 分析:dp[i][j]表示由前i个数组成异或和为j的方法数,则dp[i][j]=d[i-1][j ...

  5. extern int *a与extern int a[]

    extern int *a与int a[] Table of Contents 1. 问题: 2. 解答: 1 问题: 以下的声明取自某个源文件: int a[10]; int *b=a; 但在还有一 ...

  6. __iomem解析

    以下是在学习电池驱动中遇到的知识点之_iomem A new I/O memory access mechanism Most reasonably current cards for the PCI ...

  7. HttpMime 处理 多部件 POST 请求

    HttpMime 处理 多部件 POST 请求 在有的场合例如我们要用到上传文件的时候,就不能使用基本的GET请求和POST 请求了,我们要使用多部件的POST请求.由于Android 附带的 Htt ...

  8. 解决backgroud:transparent在低版本浏览器中的bug

    今天在html页面上定义了一个button和一个div,大小相同,button使用绝对定位,覆盖在div上面一层,同时样式设置背景透明(background:transparent). 这样就可以在看 ...

  9. VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

    VMware虚拟机上网络连接(network type)的三种模式--bridged.host-only.NAT VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换 ...

  10. 内网port映射具体解释(花生壳)

    关于怎样建立服务器的解答. 一.花生壳的作用 首先,我们先来了解一下花生壳的究竟有什么作用.由于ADSL每次拨号上网所获得的IP地址每次都是不同的,花生壳起到的作用就是方便用户訪问我们的server( ...