我的应用程序中有一个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")))
我在RegEx中的字符串中得到了正确的£out值。
但是,如果我想在我的json文件中使用其他Unicode值,例如ÁÉÍÓÚáéíóú,使用ISO-8859-1读取它将导致它们被错误地检索和解释。
我的问题是,如何安全可靠地读取我的json文件以检索所有文本的完整性以及所有字符的完整性,包括£符号?
亲切的问候
答案 0 :(得分:0)
Timothy Shields在这篇文章中找到的答案:
How to insert a Symbol (Pound, Euro, Copyright) into a Textbox
\ u00A3是英镑符号,£。
我将上面的十六进制代码添加到JSON文件中并且所有测试都已通过。