当我从txt读取-朱莉娅时,字典的键没有被包围

问题描述 投票:1回答:1

我读了一个.txt文件(它包含一个Dict),但是Dict的键有错误。在原始文件中,名称正确(例如:文件中包含“ P.Cárdenas”,但我得到了“ P. C \ xe1rdenas”)

>> f = open("dict.txt", "r")
>> dict_maestro = JSON.parse(f)

>>Dict{String,Any} with 5 entries:
  "P. C\xe1rdenas"      => Dict{String,Any}("dist_tm"=>Any[Any[0.248, 0.074, 0.…
  "S. L\xf3pez"         => Dict{String,Any}("dist_tm"=>Any[Any[0.096, 0.082, 0.…
  "S. Cabrera"          => Dict{String,Any}("dist_tm"=>Any[Any[0.341, 0.094, 0.…
  "C. Mu\xf1oz"         => Dict{String,Any}("dist_tm"=>Any[Any[0.246, 0.073, 0.…
  "R. Bugue\xf1o"       => Dict{String,Any}("dist_tm"=>Any[Any[0.261, 0.068, 0.…

如何获得正确的名字?

json dictionary julia readfile
1个回答
0
投票

如果我没记错的话,您是以字节而不是以UTF字符串读取文件。根据链接的重复问题的答案,您应该首先将文件的内容转换为适当编码的字符串,然后将其解析为JSON。这大致可以通过以下方式进行:

s = open("dict.txt", "r") do f
    utf16(readbytes(f))
end

dict_maestro = JSON.parse(s)

如果这是文件中的编码,则可以使用utf8代替utf16

© www.soinside.com 2019 - 2024. All rights reserved.