从我的数据库中,我得到一个很长的字符串,基本上是 xml。 我需要将其更改为字节数组。
我无法理解潜在的编码问题。
做这个转换需要注意什么?
public static byte[] StringToByteArray1(string str)
{
return Encoding.ASCII.GetBytes(str);
}
public static byte[] StringToByteArray2(string str)
{
return Encoding.UTF8.GetBytes(str);
}
Encoding.ASCII.GetBytes 与 Encoding.UTF8.GetBytes
最佳答案
如果您处理的是 ASCII 字符,则结果是相同的。
另一方面,如果您的字符串中有非 ASCII 字符(例如 π),则: 在 ASCII 编码中,这些将被替换为“?”。
在 UTF8 中,它们将由一个(可能是几个字节的字符)表示。
可能值得指出的是,.NET 在内部使用 UTF16 对其字符串进行编码。
一般情况下,除非有特殊原因,否则最好不要使用 UTF8。
关于.net - 将字符串转换为字节数组时,我如何知道使用什么编码方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451520/