Python : 2.7
在继续之前,我需要转换为utf-7,所以我在python 2.7解释器中使用了下面的代码:
>>> mbox = u'한국의'
>>> mbox.encode('utf-7').replace(b"+", b"&").replace(b"/", b",")
'&1VytbcdY-'当我在我的python脚本中使用相同的代码时,mbox的输出是b'&Ti1W,XaE',而不是b'&Ti1W,XaE-',也就是说,当作为脚本而不是解释器运行时,字符串末尾的"-“是缺失的。
mbox = "b'" + mbox + "'"
print mbox
mbox = mbox.encode('utf-7').replace(b"+", b"&").replace(b"/", b",")
print mbox 请建议一下。
发布于 2017-03-09 19:08:02
其他字符必须用UTF-16编码(因此,U+10000和更高的字符将被编码为代理)、大端字节(因此首先出现高阶位),然后在修改的Base64中编码。这些修改的Base64编码的UTF-16块的开始用一个+符号表示.结尾由修改后的Base64集合中的任何字符表示。如果修改后的Base64后的字符为a- (ASCII连字符-减号),则解码器将使用该字符并与下一个字符一起恢复解码。否则,将在base64之后恢复该字符的解码。
任何编码字符块都必须以非Base64 64字符结尾。如果字符串包含这样的字符,它将被使用,否则-将被添加到块的末尾。出于这个原因,您的第一个示例包含一个-。第二个示例不需要,因为'不是Base64字符集的一部分。
如果您的目的是创建一个创建有效的UTF-7字符串的Python文字,那么只需按不同的顺序进行操作。
mbox = b"b'" + mbox.encode('utf-7').replace(b"+", b"&").replace(b"/", b",") + b"'"https://stackoverflow.com/questions/42703122
复制相似问题