python3 GB2312互转unicode
时间: 2024-08-14 09:06:01 浏览: 67
在Python 3中,GB2312编码是一种简体中文字符集,而Unicode是一个更大的字符集,包含了多种语言的字符。如果你需要在两者之间转换,可以使用标准库中的`codecs`模块。
**从GB2312转Unicode:**
```python
import codecs
def gb2312_to_unicode(gb_str):
# 使用encode函数将GB2312字符串转化为bytes,然后解码为Unicode
return codecs.gb2312_decode(gb_str).decode('gb2312')
# 示例
gb_string = '你好世界'
unicode_string = gb2312_to_unicode(gb_string)
print(unicode_string) # 输出:你好世界 (Unicode对应的字符串)
```
**从Unicode转GB2312:**
```python
def unicode_to_gb2312(unicode_str):
# Unicode字符串先编码为UTF-8,然后再转换为GB2312 bytes,最后解码为字符串
return codecs.getencoder('gb2312')(unicode_str.encode('utf-8')).decode()
# 示例
unicode_string = '你好世界'
gb_string = unicode_to_gb2312(unicode_string)
print(gb_string) # 输出:你好世界 (GB2312编码的字符串)
```
阅读全文