c# - 字符串到字节数组

标签 c# encoding arrays

我正在使用以下代码使用 ASCII 编码将我的字符串转换为字节数组。

String data = "<?xml version="1.0" encoding="utf-8"?><ns0:ReceivedPayment Amount="1.01"/>"
byte[] buffer = Encoding.ASCII.GetBytes(data);

我面临的问题是添加“?”在我的字符串中。

现在如果我再次将我的字节数组转换回字符串

var str = System.Text.Encoding.Default.GetString(buffer);

我的字符串变成了

string str = "?<?xml version="1.0" encoding="utf-8"?><ns0:ReceivedPayment Amount="1.01"/>"

有谁知道为什么要加“?”在我的字符串中以及如何删除它。

最佳答案

您似乎只展示了简化的代码。您从文件中读取数据对吗?如果是,请检查文件开头的 BOM(字节顺序标记)字段。它用于编码:UTF-8、UTF-16 和 UTF-32。

关于c# - 字符串到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35370273/

相关文章:

c# - 在 python 脚本中从 C# dll 创建一个通用列表

c# - c#中的序列化和反序列化

Python:从字典中获取最大的值

encoding - Handlebars 三重存储以避免转义 html 实体

java - JAX-RS 编码

c++ - 如何在类中声明和初始化字符串数组?

c# - 在另一个窗体中显示 Winform 'Form',就好像它是用户控件一样

c# - 让父级处理子控件事件或命令 WPF?

javascript - 使用 Javascript 将文本文件转换为关联数组

python - 尝试将自定义 C++ 矩阵传递给 numpy 数组