C#字节数组byte[]和字符串string如何互相转换

时间:2024-10-11 19:37:11

1、打开visual studio,创建一个控制台应用程序,用于演示如何进行字节数组byte[]和字符串string的相互转换

C#字节数组byte[]和字符串string如何互相转换

2、在控制台应用程序的Main方法中,定义一个字符串string str = "这是字符串变量";

C#字节数组byte[]和字符串string如何互相转换

3、将字符串转换为字节数组,需要指定想要转成字节的字符集,因为,不同的字符集占用的字节数是不一样的。首先使用UTF-8的字符集,将字符串转换为字节数组。byte[] utf8 = Encoding.UTF8.GetBytes(str);

C#字节数组byte[]和字符串string如何互相转换

4、接着,使用GB2312字符集,将同一个字符串转换为字节数组,使用代码:byte[] gb2312 = Encoding.GetEncoding("GB2312").GetBytes(str);

C#字节数组byte[]和字符串string如何互相转换

5、在控制台中,输出这两种字符集转换出的字节个数,看看是否相等呢?从运行结果可以看出,迷撞笸痉两种字符集转换出来的长度是不相等的。因为str目前的长度是7个字符,使用UTF-8转换出恝依在绌来的字节数组长度=7*3=21,使用GB2312转换出来的长度=7*2=14

C#字节数组byte[]和字符串string如何互相转换

6、那么,字节数组如何才能转换为字符串呢?这稍僚敉视个时候同样需要指定字符集类型。Encoding.UTF8.GetString(utf8), Encoding.GetEncoding("GB2312").GetString(gb2312)

C#字节数组byte[]和字符串string如何互相转换

7、在visual studio中按F5调试模式运行,就可以看到效果,上面从字符串转为字节数组后,再从字节数组重新转回来的字符串是一样的

C#字节数组byte[]和字符串string如何互相转换
© 手抄报圈