zoukankan      html  css  js  c++  java
  • C#各种数据类型转换

    在在做一些互操作的时候往往需要一些类型的相互转换,比如用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使用,有机会好好总结一下贴上来。

  • 相关阅读:
    vue使用百度统计埋点
    修改JAVA字节码
    由前序遍历和中序遍历构建二叉树-Python
    二叉树的最大深度-Python
    二叉树的层序遍历-Python
    判断是否是对称二叉搜索树
    什么是主动学习方法
    验证二叉搜索树-Python
    DevExpress如何汉化XAF
    python install 失败?
  • 原文地址:https://www.cnblogs.com/weisteve/p/2049622.html
Copyright © 2011-2022 走看看