在 Python 中将字符串解码为日语字符
Decoding string to Japanese character in Python
我正在通过 https://github.com/python-amazon-mws/python-amazon-mws 从 MWS Amazon 获取一份报告。但是该报告在从日本市场获取报告时出现问题我有一些带有日文字符的 SKU,当我获取和过滤时我会得到类似的 SKU
ライトニングvtz-1843_MG
代替
ライトニングvtz-1843_MG
我觉得我做错了 encoding/decoding 请帮忙。
report_data = reportsApi.get_report(report_id=report_id)
response = report_data.original
lines = response.decode("utf-8", "ignore").split("\n")
for line in lines:
report_data = str(line).split("\t")
sku = report_data[0].strip()
print(sku)
对于 python 2 :
>>> a = 'ライトニングvtz-1843_MG'
>>> from HTMLParser import HTMLParser
>>> HTMLParser().unescape( a )
u'\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0vtz-1843_MG'
>>> print HTMLParser().unescape( a )
ライトニングvtz-1843_MG
对于 python 3 :
>>> a = 'ライトニングvtz-1843_MG'
>>> import html
>>> html.unescape( a )
'ライトニングvtz-1843_MG'
也许 python 版本不准确,但我无法在 python 2 中 import html
,所以它可能在某些时候发生了变化,但不确定在哪里。但在你的情况下,其中一种方法应该有效(或者两种方法都有效,如果你幸运的话=)
我正在通过 https://github.com/python-amazon-mws/python-amazon-mws 从 MWS Amazon 获取一份报告。但是该报告在从日本市场获取报告时出现问题我有一些带有日文字符的 SKU,当我获取和过滤时我会得到类似的 SKU
ライトニングvtz-1843_MG
代替
ライトニングvtz-1843_MG
我觉得我做错了 encoding/decoding 请帮忙。
report_data = reportsApi.get_report(report_id=report_id)
response = report_data.original
lines = response.decode("utf-8", "ignore").split("\n")
for line in lines:
report_data = str(line).split("\t")
sku = report_data[0].strip()
print(sku)
对于 python 2 :
>>> a = 'ライトニングvtz-1843_MG'
>>> from HTMLParser import HTMLParser
>>> HTMLParser().unescape( a )
u'\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0vtz-1843_MG'
>>> print HTMLParser().unescape( a )
ライトニングvtz-1843_MG
对于 python 3 :
>>> a = 'ライトニングvtz-1843_MG'
>>> import html
>>> html.unescape( a )
'ライトニングvtz-1843_MG'
也许 python 版本不准确,但我无法在 python 2 中 import html
,所以它可能在某些时候发生了变化,但不确定在哪里。但在你的情况下,其中一种方法应该有效(或者两种方法都有效,如果你幸运的话=)