%E6%BF%80%E6%88%982 这个是什么编码

2015-07-12 18:56:21 +08:00
 ciba1990

转译中文是‘激战2’,在python里如何将字符串‘激战2’转换为‘%E6%BF%80%E6%88%982’。

6312 次点击
所在节点    Python
26 条回复
BraveRBT
2015-07-13 08:50:18 +08:00
@dangge
@cmheia
比如bash64 ==>base 64
眼拙,找不到其他的
总之修改下吧~
dangge
2015-07-13 10:50:25 +08:00
@cmheia
@BraveRBT
Base的手误已改……求指教剩下两处错误
jsq2627
2015-07-13 12:13:42 +08:00
@dangge 你把 Unicode,UTF-8,URL编码独立开来写有一定误导性
Unicode只规定了字符到码点的对应,没有规定存储形式。UTF-8/UTF-16/UTF-32是它的几种存储形式。URL Encoding 没有规定用什么编码,它只是把二进制用字符串表现出来了。笔记里最后提到的“unicode编码”实际是UTF-16的字符串表现。
caomaocao
2015-07-13 14:20:07 +08:00
utf-8或者Gbk吧 用url.unqote把%装成/x先出来先
aprikyblue
2015-07-13 17:24:49 +08:00
@dangge

+ base64最后两位不一定是等号,可能没有,也可能有一个或两个。
编码时最后不足3字节的,用0填充补位,再用等号表示0,才出现了这种现象。

+ 我对编码没有仔细深究,但我认为把(UTF-8)、(unicode)与(MD5、base64、urlencode)并列在一起不正确,并不是一个层面上的东西。

MD5、base64、urlencode 是encoding
unicode 是charset,utf-8则是unicode在计算机中的一种具体存储方法。
有的人把charset和encoding混淆,特别是用中文都说作编码的情况下很容易就。。

urlencode 确实是%xx的形式,但是其只是指定了表现形式,没有具体指定是用哪一种charset(unicode或是gbk),因此用不同的charset进行urlencode会有不同的结果。
\uxxxx 是unicode转义字符,当然使用unicode,其中xxx是十六进制
&#xxx; 是HTML转义字符,资料上说是使用lantin-1,不过unicode貌似也可以?xxx是十进制

善用搜索
xujiaze
2015-07-13 21:25:15 +08:00
四楼 url加密。。其实没啥用,我个人的站都是先encode关键词,好像能防SQL注入。翻译还是很麻烦的,其实你自己进入http://www.baidu.com/?s=转义字符 就会告诉你是什么了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/205158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX