C#中Byte[]和String之间转换的方法
程序员文章站
2022-05-03 16:23:19
本文给大家介绍如何在byte[]和string之间进行转换?
比特(b):比特只有0 1,1代表有脉冲,0代表无脉冲。它是计算机物理内存保存的最基本单元。
字节(b):...
本文给大家介绍如何在byte[]和string之间进行转换?
比特(b):比特只有0 1,1代表有脉冲,0代表无脉冲。它是计算机物理内存保存的最基本单元。
字节(b):8个比特,0—255的整数表示
编码:字符必须编码后才能被计算机处理。早期计算机使用7为ascii编码,为了处理汉字设计了中文简体gb2312和big5
字符串与字节数组之间的转换,事实上是现实世界的信息和数字世界信息之间的转换,势必涉及到某种编码方式,不同的编码方式将导致不同的转换结果。c#中常使用system.text.encoding来管理常用的编码。下面直接上代码:
using system; using system.collections.generic; using system.linq; using system.text; using system.threading.tasks; namespace bytetostring { class program { static void main(string[] args) { string str = "鞠哥真帅!"; //使用utf编码。。。 byte[] utf8 = strtobyte(str, encoding.utf8); //估计c#当时设计时没有中文简体,这是后来中国搞的? byte[] gb2312 = strtobyte(str,encoding.getencoding("gb2312")); console.writeline("这是utf8(鞠哥真帅),长度是:{0}",utf8.length); foreach (var item in utf8) { console.write(item); } console.writeline("\n\n这是gb2312(鞠哥真帅),长度是:{0}",gb2312.length); foreach (var item in gb2312) { console.write(item); } //用utf8编码的字节数组转换为str string utf8str = bytetostr(utf8,encoding.utf8); string gb2312str = bytetostr(gb2312,encoding.getencoding("gb2312")); console.writeline("\n\nutf8: {0}",utf8str); console.writeline("gb2312: {0}",gb2312str); console.readkey(); } //c#通常使用system.text.encoding编码 //字符串转数组 static byte[] strtobyte(string str, encoding encoding) { return encoding.getbytes(str); } //数组转换字符串 static string bytetostr(byte[] bt,encoding encoding) { return encoding.getstring(bt); } } }
以上所述是小编给大家介绍的c#中byte[]和string之间转换的方法,希望对大家有所帮助
上一篇: 四个PHP非常实用的功能