我正在做的是:通过javascript,阅读网页的DOM转换为json字符串作为ajax发送到python在Python中,json将字符串解码为对象我想要的是将json中包含的任何文本都采用unicode以避免任何字符问题。我曾经为此使用beautifulsoup:from bs4 import * from bs4.dammit import UnicodeDammittext_unicode = UnicodeDammit(text, [None, None], "html", True).unicode_markup但这不适用于json字符串。当我尝试对字符串进行json解码时,通过UnicodeDammit运行字符串会导致错误。问题是,我什至不确定收集DOM不会自动处理此问题。因此,对于初学者来说,我想要一系列测试网页来对此进行测试。其中一个是用utf-8编码的,另一个是用其他东西编码的,依此类推。例如,如果您认为它是utf-8,但不是,则使用看起来错误的字符。请注意,我什至不用考虑网页的声明编码。这常常是错误的。
1 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
您正在尝试解决不存在的问题。
浏览器负责检测和处理网页编码。它将根据服务器标头,HTML页面中的meta标签以及必要时的简单猜测来确定正确的编码。DOM为您提供Unicode数据。
JSON处理Unicode数据;将JSON数据发送到Python进程会发送适当编码的字节数据,任何体面的JSON库都会为您转换为Unicode值。Pythonjson
模块就是这样的一个库。
刚刚从你的JavaScript脚本的加载数据json.load()
或json.loads()
功能原样。您的浏览器已经使用了正确的编码(很可能是UTF-8),并且Pythonjson
模块将解码使用的任何标准编码,而无需进行其他配置或处理。
添加回答
举报
0/150
提交
取消