可靠的方法读取Unicode和ISO88591字符
本文关键字:ISO88591 字符 Unicode 读取 方法 | 更新日期: 2023-09-27 18:11:36
我在我的应用程序中有一个json文件,我可以读取并从读取中获得字符串作为UTF-8。
using (StreamReader file = File.OpenText(filePath))
{
string json = file.ReadToEndAsync().Result;
}
我有一些RegEx形式的特殊字符,包括/:@~{+_&%$
这很好。所有工作。
然而,在RegEx中包含的json文件中也有£符号的实例。当使用代码about(默认为UTF-8)读取json文件时,会出现£字符,并在字符串中显示为黑色钻石,中间有一个白色问号;因此,由于RegEx不正确,某些条件会失败。
这样做的原因是编码,而UTF-8不能理解这一点,因为它应该(据我所知)使用ISO-8859-1格式读取。
现在,当我改变我的代码来读取JSON文件使用这个标准
using (StreamReader file = new StreamReader(entityFilePath, Encoding.GetEncoding("iso-8859-1")))
我在正则表达式中得到字符串的正确值£。
但是,如果我想在json文件中使用其他Unicode值,例如ÁÉÍÓÚáéíóú,使用ISO-8859-1读取它将导致它们被错误地检索和解释。
我的问题是,我如何安全可靠地读取我的json文件检索完整的所有文本和完整的所有字符,包括£符号?
亲切的问候
Timothy Shields给出的答案:
如何在文本框中插入符号(英镑,欧元,版权)
'u00A3是磅号,£。
我将上述十六进制代码添加到JSON文件中,所有测试都通过了。