• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

C#字符串和字节数组的转换方式

武飞扬头像
xiaoweids
帮助1

学新通

本文介绍了C#中字符串与字节数组的转换方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

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

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

1

2

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码:字符串中的每个字符用两个字节表示。

1

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

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

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

1

2

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

1

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

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

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

1

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

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

1

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

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

1、字符数组转字节数组

1

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

2、字节数组转字符数组

1

Encoding.XXX.GetDecoder().GetChars(byte[],0.length,char[],0)

转自:微点阅读   https://www.weidianyuedu.com

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfafkfj
系列文章
更多 icon
同类精品
更多 icon
继续加载