.net - 将字符串转换为字节数组时,我如何知道使用什么编码方案?

标签 .net string encoding

从我的数据库中,我得到一个很长的字符串,基本上是 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/

相关文章:

php - 帮助创建 ZIP 文件 Windows 不会阻止

asp.net - 命名空间 'x' 已经包含了 'y' 的定义

.net - Windows azure : Class library : how to know if running in Web Role or in regular Web service

javascript - 单击复选框后如何调用 Controller 方法?

java - 跟踪已返回哪些 HashMap 值

java - 为什么 new String ("a") == new String ("a") 给出 false 并且 "a"= ="a"给出 true。为什么在后面的案例中它们似乎都被视为同一实例?

c# - 如何将字节值转换为小数?

python - 如何在python中将一个字符串切割成一对字符串

pdf - 使用 ghostscript 和 pdfmark 更新 pdf 元数据时编码错误

php - 数据将以哪个字符集存储在数据库中