gpt4 book ai didi

c# - 如何将扩展的 ascii 转换为 System.String?

转载 作者:IT王子 更新时间:2023-10-29 04:36:50 24 4
gpt4 key购买 nike

例如:“½”或 ASCII DEC 189。当我从文本文件中读取字节时,byte[] 包含有效值,在本例中为 189。

转换为 Unicode 会产生 Unicode 替换字符 65533。

UnicodeEncoding.Unicode.GetString(b);

转换为 ASCII 结果为 63 或“?”

ASCIIEncoding.ASCII.GetString(b);

如果这不可能,那么处理这些数据的最佳方式是什么?我希望能够执行像 Replace() 这样的字符串函数。

最佳答案

字节 189 代表 iso-8859-1(又名“Latin-1”)中的“½”,因此以下内容可能是您想要的:

var e = Encoding.GetEncoding("iso-8859-1");
var s = e.GetString(new byte[] { 189 });

.NET 中的所有字符串和字符都是 UTF-16 编码的,因此您需要使用编码器/解码器来转换任何其他内容,有时这是默认设置(例如 FileStream 实例的 UTF-8),但好的做法是始终指定.

您将需要某种形式的隐式或(更好的)显式元数据来为您提供有关哪种编码的信息。

关于c# - 如何将扩展的 ascii 转换为 System.String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/666385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com