相关疑难解决方法(0)

如何使用javascript将特殊的UTF-8字符转换为iso-8859-1等效字符?

我正在制作一个javascript应用程序,它.json使用jquery 检索文件并将数据注入其嵌入的网页中.

这些.json文件采用UTF-8编码,并包含重音字符,如é,ö和å.

问题是我不控制将要使用该应用程序的页面上的charset.

有些人将使用UTF-8,但其他人将使用iso-8859-1 charset.这当然会从.json文件中剔除特殊字符.

如何使用javascript将特殊的UTF-8字符转换为iso-8859-1等效字符?

javascript jquery character-encoding

52
推荐指数
3
解决办法
16万
查看次数

Facebook json 消息的编码/解码问题。C# 解析

我已经下载了 json 和我的对话存档。我坚持使用奇怪的编码。

\n\n

json 示例:

\n\n
{\n  "sender_name": "Micha\\u00c5\\u0082",\n  "timestamp": 1411741499,\n  "content": "b\\u00c4\\u0099d\\u00c4\\u0099",\n  "type": "Generic"\n},\n
Run Code Online (Sandbox Code Playgroud)\n\n

它应该是这样的:

\n\n
{\n  "sender_name": "Micha\xc5\x82",\n  "timestamp": 1411741499,\n  "content": "b\xc4\x99d\xc4\x99",\n  "type": "Generic"\n},\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在尝试像这样反序列化它:

\n\n
var result = File.ReadAllText(jsonPath, encodingIn);\nJavaScriptSerializer serializer = new JavaScriptSerializer();\nserializer.MaxJsonLength = Int32.MaxValue;\nvar conversation = serializer.Deserialize<Conversation>(System.Net.WebUtility.HtmlDecode(result));\n
Run Code Online (Sandbox Code Playgroud)\n\n

不幸的是输出是这样的:

\n\n
{\n  "sender_name": "Micha\xc3\x85\\u0082",\n  "timestamp": 1411741499,\n  "content": "b\xc3\x84\\u0099d\xc3\x84\\u0099",\n  "type": "Generic"\n},\n
Run Code Online (Sandbox Code Playgroud)\n\n

有人知道 Facebook 如何编码 json 吗?我尝试了多种方法但没有结果。

\n\n

感谢您的帮助。

\n

c# encoding json facebook

4
推荐指数
1
解决办法
1803
查看次数

将 Unicode 转义符转换为希伯来语文本

我的 json 文件中有以下文本:

\n\n
"\\u00d7\\u0090\\u00d7\\u0097\\u00d7\\u0095\\u00d7\\u0096\\u00d7\\u00aa \n\\u00d7\\u00a4\\u00d7\\u0095\\u00d7\\u009c\\u00d7\\u0092"\n
Run Code Online (Sandbox Code Playgroud)\n\n

它表示希伯来语中的文本“\xd7\x90\xd7\x97\xd7\x95\xd7\x96\xd7\xaa \xd7\xa4\xd7\x95\xd7\x9c\xd7\x92”。

\n\n

无论我使用哪种编码/解码,我似乎都无法正确使用 Python 3。

\n\n

例如,如果我尝试:

\n\n
text = "\\u00d7\\u0090\\u00d7\\u0097\\u00d7\\u0095\\u00d7\\u0096\\u00d7\\u00aa \n\\u00d7\\u00a4\\u00d7\\u0095\\u00d7\\u009c\\u00d7\\u0092".encode(\'unicode-escape\')\n\nprint(text)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我得到的文字是:

\n\n
b\'\\\\xd7\\\\x90\\\\xd7\\\\x97\\\\xd7\\\\x95\\\\xd7\\\\x96\\\\xd7\\\\xaa \\\\xd7\\\\xa4\\\\xd7\\\\x95\\\\xd7\\\\x9c\\\\xd7\\\\x92\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我能够仅删除一个反斜杠并转过来,这在字节码中几乎是正确的文本

\n\n
b\'\\\\xd7\\\\x90\\\\xd7\\\\x97\\\\xd7\\\\x95\\\\xd7\\\\x96\\\\xd7\\\\xaa \\\\xd7\\\\xa4\\\\xd7\\\\x95\\\\xd7\\\\x9c\\\\xd7\\\\x92\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

进入

\n\n
text = b\'\\xd7\\x90\\xd7\\x97\\xd7\\x95\\xd7\\x96\\xd7\\xaa \\xd7\\xa4\\xd7\\x95\\xd7\\x9c\\xd7\\x92\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

(注意我如何将双斜杠更改为单斜杠)然后

\n\n
text.decode(\'utf-8\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

将产生正确的希伯来语文本。

\n\n

但我正在努力这样做,并且无法设法创建一段代码来为我做到这一点(而不是像我刚刚展示的那样手动......)

\n\n

非常感谢任何帮助...

\n

unicode utf-8 hebrew unicode-escapes python-3.x

4
推荐指数
1
解决办法
3109
查看次数

如何在 python 中解码这个字符串?

我下载了一个 facebook 消息数据集,它的格式如下:

f\u00c3\u00b8rste student
Run Code Online (Sandbox Code Playgroud)

它应该是,første student但我似乎无法正确解码它。

我试过:

str = 'f\u00c3\u00b8rste student'
print(str)
# 'første student'

str = 'f\u00c3\u00b8rste student'
print(str.encode('utf-8')) 
# b'f\xc3\x83\xc2\xb8rste student'
Run Code Online (Sandbox Code Playgroud)

但它没有用。

python unicode utf

4
推荐指数
1
解决办法
3697
查看次数

读取 JSON:“\u00c5\u0082”是什么编码?如何将其获取到 unicode 对象?

我正在解析的 JSON 文件中的值之一是Wroc\u00c5\u0082aw. 我怎样才能把这个字符串变成一个 unicode 对象,产生“Wroc?aw”(在这种情况下是正确的解码)?

python unicode json

3
推荐指数
2
解决办法
8749
查看次数

使用UTF-8编码字符打印字符串,例如:"\ u00c5\u009b \"

我想打印像这样编码的字符串:"Cze\u00c5\u009b\u00c4\u0087"但我不知道怎么做.示例字符串应打印为:"Cześć".

我试过的是:

str = "Cze\u00c5\u009b\u00c4\u0087"
print(str) 
#gives: CzeÅÄ

str_bytes = str.encode("unicode_escape")
print(str_bytes) 
#gives: b'Cze\\xc5\\x9b\\xc4\\x87'

str = str_bytes.decode("utf8")
print(str) 
#gives: Cze\xc5\x9b\xc4\x87
Run Code Online (Sandbox Code Playgroud)

哪里

print(b"Cze\xc5\x9b\xc4\x87".decode("utf8"))
Run Code Online (Sandbox Code Playgroud)

给出"Cześć",但我不知道如何将"Cze\xc5\x9b\xc4\x87"字符串转换为b"Cze\xc5\x9b\xc4\x87"字节.

我也知道在使用"unicode_escape"参数编码基础字符串后,问题是字节表示中的额外反斜杠,但我不知道如何摆脱它们 - str_bytes.replace(b'\\\\', b'\\')不起作用.

python python-3.x python-unicode

2
推荐指数
1
解决办法
244
查看次数