我如何解码这个字符串? \xc3\x99\xc3\xa9\xc2\x87-B[x\xc2

问题描述 投票:0回答:2

这就是我需要解码的

\xc3\x99\xc3\x99\xc3\xa9\xc2\x87-B[x\xc2\x99\xc2\xbe\xc3\xa6\x14Ez\xc2\xab

它是由

String.fromCharCode(arrayPw[i]);
生成的 但我不明白如何解码它:(

请帮忙

encryption redis ascii decode utf8-decode
2个回答
3
投票

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 解码器/编码器:

https://mothereff.in/utf-8

提示:

ÙÙé-B[x¾æEz«


1
投票

重复此: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'))
© www.soinside.com 2019 - 2024. All rights reserved.