这就是我需要解码的
\xc3\x99\xc3\x99\xc3\xa9\xc2\x87-B[x\xc2\x99\xc2\xbe\xc3\xa6\x14Ez\xc2\xab
它是由
String.fromCharCode(arrayPw[i]);
生成的
但我不明白如何解码它:(
请帮忙
Python:
data = "\xc3\x99\xc3\x99\xc3\xa9\xc2\x87-B[x\xc2\x99\xc2\xbe\xc3\xa6\x14Ez\xc2\xab"
udata = data.decode("utf-8")
asciidata = udata.encode("ascii","ignore")
JavaScript:
function decode_utf8(s) {
return decodeURIComponent(escape(s));
}
否则请对解码 UTF-8 进行更多研究。
https://gist.github.com/chrisveness/bcb00eb717e6382c5608
还有一个在线 UTF-8 解码器/编码器:
提示:
ÙÙé-B[x¾æEz«
重复此:https://stackoverflow.com/a/70815136/5902698
您加载数据集并发现一些奇怪的字符。 例子:
'戴森ç⁄Žå�‘é€\xa0垪™ě完整çä¸å¥—装Dyson Airwrap HS01“œé‡‘色礼盒礈)'
就我而言,我知道奇怪的字符是中国人。所以我可以认为向我发送数据的人已将其编码为 utf-8,但应该使用“ISO-8859-1”进行编码。
所以第一步,我对字符串进行编码,然后用 utf-8 进行解码。 所以我的台词是:
_encoding = 'ISO-8859-1'
_my_str.encode(_encoding, 'ignore').decode("utf-8", 'ignore')
那么我的输出是:
“‘森戴森 Airwrap HS01礼’”
这对我有用,但我想我在幕后并没有很好地理解。如果您有更多信息,请随时告诉我。
奖金。我会尝试检测 str 何时处于第一个奇怪的格式,因为我的一些条目是中文,但其他条目是英文
编辑:奖金没有用。我只是在我的列上使用 lambda 来编码和解码,而不关心格式。所以我在加载数据帧后更改了编码
_encoding = 'ISO-8859-1'
_decoding = "utf-8"
df[col] = df[col].apply(lambda x : x.encode(_encoding, 'ignore').decode(_decoding , 'ignore'))