c# 将韩语字符串保存到文件,而不是 utf 格式的字符串
c# Save korean string to file, not utf form string
有一个class,数据。
数据有一个成员,“名称”,其中包含韩文字符串。
我用 System.Text.Json
制作 json 字符串
JsonSerializer.Serialize<Data>(data, opt);
并制作json文件
File.WriteAllText(filePath, jsonstring, Encoding.UTF8);
json的一部分是
"name": "\uC0BC\uC131\uC804\uAE30",
但是Json字符串我想要的是
"name": "삼성전기",
我试过了
File.WriteAllText(filePath, jsonstring, Encoding.Unicode)
File.WriteAllText(filePath, jsonstring, Encoding.Default)
但是文件的内容是这种格式的\uxxxx。
如何将韩语字符串原样保存到文件中?
(作为参考)
当我试图找到解决方案(针对 C#)时,我在 Python 中找到了 function(json.dumps)
我可以通过使用它得到我想要的结果
(示例)
import json
dict = {'555': '123'}
with open('file.txt', 'w', encoding='UTF-8') as file:
file.write(json.dumps(dict))
您可能想要的是 - 就在开头:
opt.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping;
(显然不要经常更改它 - 只设置一次;如果不同的用法需要不同的选项:使用不同的选项对象)
这使得 Name
未转义,而不是在 JSON 中转义 。 从那里,您可以随心所欲地对 string
进行编码。
您还应注意,名称 UnsafeRelaxedJsonEscaping
暗示可能存在不希望出现的情况,因此:值得尝试 read the documentation on UnsafeRelaxedJsonEscaping
了解 何时为什么这是.
有一个class,数据。 数据有一个成员,“名称”,其中包含韩文字符串。
我用 System.Text.Json
制作 json 字符串JsonSerializer.Serialize<Data>(data, opt);
并制作json文件
File.WriteAllText(filePath, jsonstring, Encoding.UTF8);
json的一部分是
"name": "\uC0BC\uC131\uC804\uAE30",
但是Json字符串我想要的是
"name": "삼성전기",
我试过了
File.WriteAllText(filePath, jsonstring, Encoding.Unicode)
File.WriteAllText(filePath, jsonstring, Encoding.Default)
但是文件的内容是这种格式的\uxxxx。
如何将韩语字符串原样保存到文件中?
(作为参考) 当我试图找到解决方案(针对 C#)时,我在 Python 中找到了 function(json.dumps) 我可以通过使用它得到我想要的结果
(示例)
import json
dict = {'555': '123'}
with open('file.txt', 'w', encoding='UTF-8') as file:
file.write(json.dumps(dict))
您可能想要的是 - 就在开头:
opt.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping;
(显然不要经常更改它 - 只设置一次;如果不同的用法需要不同的选项:使用不同的选项对象)
这使得 Name
未转义,而不是在 JSON 中转义 。 从那里,您可以随心所欲地对 string
进行编码。
您还应注意,名称 UnsafeRelaxedJsonEscaping
暗示可能存在不希望出现的情况,因此:值得尝试 read the documentation on UnsafeRelaxedJsonEscaping
了解 何时为什么这是.