c# - ASCII 编码 - 一个有效,另一个抛出错误消息 - “消息:输入字符串格式不正确”
问题描述
假设我们有一个名为 的字节数组buff
。前三种方式工作得很好,但第四种方式抛出异常。与第三种方式的唯一区别是你给它偏移量和长度。我不确定为什么第四种方法不起作用。
// First way - works
string converted = Encoding.UTF8.GetString(buff, 0, buff.Length);
Console.WriteLine("converted = " + converted);
// Second way - works
var str = System.Text.Encoding.Default.GetString(buff);
Console.WriteLine("str = " + str);
// Third way - works
string ASCII = Encoding.ASCII.GetString(buff, 0, buff.Length);
Console.WriteLine("ASCII = " + ASCII);
// Fourth way - doesn't work
ASCIIEncoding asciiEncoding = new ASCIIEncoding();
string byteCountString = asciiEncoding.GetString(buff);
解决方案
推荐阅读
- reactjs - 为什么 React - Create-React-Applications 不允许符号链接?
- regex - 正则表达式使用字符拆分并用不同的字符串替换第一部分
- spring-boot - Kafka 消费者在偏移提交后无法读取所有消息(错误=OFFSET_OUT_OF_RANGE
- javascript - 当我使用 getElementsbyClassName 时,无法使用 Vanilla JS 增加 div 的宽度
- python - 调用函数会导致所需的位置参数错误
- python - 买卖股票的最佳时机——Python 中的另一种方法
- java - 基于 ByteArrayInputStream 在 Java 中创建 DataFrame
- javascript - 如何使用 MutationObserver 检查将类添加到正文的元素?
- c++ - C++:为什么不能在派生类中访问受保护的构造函数?
- excel - 如何制作折线图,使折线图不重叠