汕头网站建设推广方法,知乎自媒体平台注册,有做网站维护的,廊坊网站制作套餐小水。 encode和decode#xff1a;
str没有decode函数#xff0c;但对应的有encode函数#xff0c;该函数作用是转码为bytes对象bytes通过decode函数转换回对应的str对于一些偏激的(可以用过分来形容)的字符串#xff0c;例如一二三\\u56db\\u4e94\\u516d#xff0c;是有…小水。 encode和decode
str没有decode函数但对应的有encode函数该函数作用是转码为bytes对象bytes通过decode函数转换回对应的str对于一些偏激的(可以用过分来形容)的字符串例如一二三\\u56db\\u4e94\\u516d是有相应的解决方法的。至于为什么我用“偏激”来形容因为正常情况下是不应该出现这种混杂情况的(出现这种情况多半是哪个煞x忽视字符编码问题直接一股脑字符串连接。 使用str.encode(ascii,backslashreplace)将中文部分全转换为\u字符即可若是出现其他类型的混乱字符串(例如掺杂utf-8编码的中文字串一二三\\xe5\\x9b\\x9b\\xe4\\xba\\x94\\xe5\\x85\\xad)的话请先拎清楚到底是哪里造成的问题。这篇博客里不提供对应的解决方法自己谋生路写个函数逐字符转换也好用re正则替换也罢又或是使用codecs.register_error()注册一个新的编码器反正能跑就行。 示例代码运行结果 tx1123\\u56db\\u4e94\\u516d
tx2上下\\u5de6\\u53f3print(tx1)
print(tx2)
print()
print()print(tx1.encode().decode(unicode-escape))#这个encode使用utf-8转码在遇到非ASCII时直接暴毙
print(tx2.encode().decode(unicode-escape))#暴毙输出
print(tx1.encode(ascii,backslashreplace).decode(unicode-escape))#这个encode会无视反斜杠字符的转码同时对其他非ASCII字符转换为\u字符
print(tx2.encode(ascii,backslashreplace).decode(unicode-escape))#转换成功 补充
这里是没有显式提到“中文转\u字符” 但“中文转\u字符”这操作在上面的示例代码中有出现 当然除了str.encode(ascii,backslashreplace)也可以使用str.encode(unicode-escape)进行转换 参考
str.encode函数参数-backslashreplace https://www.w3school.com.cn/python/ref_string_encode.aspstr.encode函数参数-codecs.register_error()https://www.runoob.com/python/att-string-encode.htmlcodecs模块https://cloud.tencent.com/developer/section/1371694 未经本人同意不得私自转载。本文发布于CSDNhttps://blog.csdn.net/weixin_44733774/article/details/135211784