WDU*_*DUK 2 c# arrays string encoding utf-8
我有一段简单的代码,可以将 C# 字符串编码为 UTF-8,然后从中创建一个字节数组。但我想知道如何使用我已经在起始索引处创建的字节数组编码为 UTF-8?
这就是我当前编码并获取结果字节数组的方式:
byte[] result = Encoding.UTF8.GetBytes(myString);
Run Code Online (Sandbox Code Playgroud)
但我有一个预先制作的字节数组,如果有意义的话,我更愿意在特定索引处写入。是否有任何内置方法可以做到这一点,如果没有,我将如何去做?
GetBytes还有另一个写入现有数组的重载:
byte[] bytes = new byte[1000]; // sample, make sure it has enough space
var specificIndex = 0;
var actualByteCount = Encoding.UTF8.GetBytes(
myString, 0, myString.Length, bytes, specificIndex);
Run Code Online (Sandbox Code Playgroud)
不要忘记处理结果以了解数组中实际表示字符串 ( actualByteCount)的字节数
请注意,您可能需要使用它GetByteCount来获取正确的数组大小或调整要转换的字符数以适合缓冲区。