zoukankan      html  css  js  c++  java
  • C#(99):字符串与字节数组的转换

    一、编码(转成字节数组)GetBytes

      1、ASII码:字符串中的每个字符用一个字节表示。

    每个字符实际上只使用了7位,从00h-7Fh。只能表达128个字符。不能代表汉字,

    byte[] b = Encoding.ASCII.GetBytes("yourstring");
    Console.Write(string.Join("-", b.Select(p => p.ToString())));
       //  得到:121-111-117-114-115-116-114-105-110-103   

    2、Unicode码:字符串中的每个字符用两个字节表示。

    byte[] b = Encoding.Unicode.GetBytes("哈啊a1");

      //  得到:200-84-74-85-97-0-49-0

    3、简体中文:字符串中的每个中文字符用两个字节表示,其他字符用一个字节表示。

    byte[] b = Encoding.GetEncoding("gb2312").GetBytes("哈啊a1");//繁体中文”big5”
    Console.Write(string.Join("-", b.Select(p => p.ToString())));

       //  得到:185-254-176-161-97-49

    UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节。
    不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节。

    二、解码(转成字符串):GetString、GetChars

    Encoding.XXX.GetString(byte[] data,[,index,count]);

    三、基于Base64(ASCII)编码的字符串与字节数组的转换

    1、将指定的字符串(它将二进制数据编码为 Base64 数字)转换为等效的 8 位无符号整数数组。

    byte[] bt=Convert.FromBase64String("字符串");

    2、将 8 位无符号整数数组的值转换为其用 Base64 数字编码的等效字符串表示形式。

    Convert.ToBase64String(byte[] data,[,index,count]);

    四、字节数组与字符数组转换

    1、字符数组转字节数组

    Encoding.XXX.GetEncoder().GetBytes(char[],0.length,byte[],0,true)

    2、字节数组转字符数组

    Encoding.XXX.GetDecoder().GetChars(byte[],0.length,char[],0)
  • 相关阅读:
    反射
    关于EwebEeditor 不能上传图片问题解决方法
    js去掉前后空格
    园子开张
    使用Python 爬取 京东 ,淘宝。 商品详情页的数据。(避开了反爬虫机制)
    c#对于加密的一点整合 (AES,RSA,MD5,SHA256)
    移动战略调查:应用开发者首选微软Windows
    Surface Pro打包微软精华 今晚在华开售
    Ceph学习全过程 基于N版
    k8s中部署wordpress
  • 原文地址:https://www.cnblogs.com/springsnow/p/9546404.html
Copyright © 2011-2022 走看看