面试题-字符串转字节

这是遇到的面试题,请问i=?;j=?,为什么?

string str1 = "abcd测试一下";
var strToBytes1 = System.Text.Encoding.UTF8.GetBytes(str1);
var i = strToBytes1.Length;
var j = str1.Length;

 

答:i = 16;j = 8   UTF-8编码对应中文一个汉字对应3个字节,一个字母对应一个字节,具体参照下列信息:

 

英文字母和中文汉字在不同字符集编码下的字节数

 

英文字母:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
字节数 : 1;编码:GB2312
 
字节数 : 1;编码:GBK
 
字节数 : 1;编码:GB18030
 
字节数 : 1;编码:ISO-8859-1
 
字节数 : 1;编码:UTF-8
 
字节数 : 4;编码:UTF-16
 
字节数 : 2;编码:UTF-16BE
 
字节数 : 2;编码:UTF-16LE

  

中文汉字:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
字节数 : 2;编码:GB2312
 
字节数 : 2;编码:GBK
 
字节数 : 2;编码:GB18030
 
字节数 : 1;编码:ISO-8859-1
 
字节数 : 3;编码:UTF-8
 
字节数 : 4;编码:UTF-16
 
字节数 : 2;编码:UTF-16BE
 
字节数 : 2;编码:UTF-16LE

  

 

posted @   Homegu  阅读(272)  评论(5编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
你的浏览器不支持canvasr
点击右上角即可分享
微信分享提示