我正在阅读一个流,想知道为什么 UTF-8 编码的字符串比 ASCII 字符串短。
ASCIIEncoding encoder = new ASCIIEncoding();
UTF8Encoding enc = new UTF8Encoding();
string response = encoder.GetString(message, 0, bytesRead); //4096
string responseUtf8 = enc.GetString(message, 0, bytesRead); //3955
Run Code Online (Sandbox Code Playgroud)
UTF-8 处理的字符串与 ASCII 不同:在 UTF-8 上,每个字符的长度可能为 1、2 或 3 个字节。但是,ASCII 将每个字节视为一个字符。C# UTF-8 编码器计算格式正确的 UTF-8 字符,而不是字节。我希望这可以帮助你。
| 归档时间: |
|
| 查看次数: |
5423 次 |
| 最近记录: |