Python编码
转码思路
字符串在Python内部的表示是unicode编码,在编码转换时通常需要以unicode作为中间编码。
先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
转码举例
s.decode('utf-8', 'ignore').encode('gbk', 'ignore')
先由utf-8转为unicode,再由unicode转为gbk,ignore表示忽略非法字符
s = <span class="hljs-string">u'中文'</span> <span class="hljs-comment"># s为unicode</span> <span class="hljs-keyword">print</span> isinstance(s, unicode) <span class="hljs-comment"># True</span> <span class="hljs-keyword">print</span> s.encode(<span class="hljs-string">'utf-8'</span>, <span class="hljs-string">'ignore'</span>) <span class="hljs-comment"># 中文</span> <span class="hljs-comment"># 由unicode转为utf-8,ignore表示忽略非法字符</span>
1
2
3
4
|
s
=
<
span
class
=
"hljs-string"
>
u
'中文'
<
/
span
>
<
span
class
=
"hljs-comment"
>
# s为unicode</span>
<
span
class
=
"hljs-keyword"
>
print
<
/
span
>
isinstance
(
s
,
unicode
)
<
span
class
=
"hljs-comment"
>
# True</span>
<
span
class
=
"hljs-keyword"
>
print
<
/
span
>
s
.
encode
(
<
span
class
=
"hljs-string"
>
'utf-8'
<
/
span
>
,
<
span
class
=
"hljs-string"
>
'ignore'
<
/
span
>
)
<
span
class
=
"hljs-comment"
>
# 中文</span>
<
span
class
=
"hljs-comment"
>
# 由unicode转为utf-8,ignore表示忽略非法字符</span>
|