インタビューの質問-バイトから文字列

これは私が遭遇したインタビューの質問です、私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バイトは1バイトに対応します詳細については、次の情報を参照してください。

 

異なる文字セットエンコーディングの英語文字と中国語文字のバイト数

 

英語の手紙:

バイト数:1、エンコード:GB2312 

バイト:1、エンコード:GBK 

バイト:1、エンコード:GB18030 

バイト:1、エンコード:ISO-8859-1 

バイト:1、エンコード:UTF- 8 

バイト:4;エンコード:UTF-16 

バイト:2;エンコード:UTF-16BE 

バイト:2;エンコード:UTF-16LE

  

漢字:

バイト数:2、エンコード:GB2312 

バイト:2、エンコード:GBK 

バイト:2、エンコード:GB18030 

バイト:1、エンコード:ISO-8859-1 

バイト:3、エンコード:UTF- 8 

バイト:4;エンコード:UTF-16 

バイト:2;エンコード:UTF-16BE 

バイト:2;エンコード:UTF-16LE

  

 

おすすめ

転載: www.cnblogs.com/codedisco/p/12714478.html
おすすめ