day7 字符集转换
python2 默认 ASCLL 不支持中文 转换比较麻烦、需要先解码成unicode然后在编码成想转换的语言
s = "特斯拉"
s_to_unicode = s.decode("utf-8")
unicode_to_gbk = s_to_unicode.encode("gbk")
print(s)
print("unicode:" ,s_to_unicode)
print("gbk:",unicode_to_gbk) #在python2中如果想要将gbk转换成utf-8,
# 首先需要将gbk解码(decode)成unicode,然后在编码(encode)成utf-8
python3 默认 unicode
encode 会在编码的同时把数据转成byte类型,python2中的encode没有此功能
decode 会在解码的同时吧数据类型byte转换成字符串。
英文,数字会直接打印,但是中文会被用b'i am \xcc\xd8\xcb\xb9\xc0\xad '这种类似格式打印出来
b = byte = 字节类型 = [0-255]
unicode 默认会支持所有的类型,因此在python3中不需要在转码了。
s = "i am 特斯拉 "
# 默认就是unicode,若想转换成其他编码直接编码就可以了
s_to_gbk = s.encode("gbk") # 编码成gbk
print(s)
print(s_to_gbk)
print(s_to_gbk.decode("gbk")) #gbk解码回去unicode
是不是 decode 和 encode 总是分不清
没关系我们还有更舒服的方法 统一都用 encode 编码
字符串 转 bytes 用 str的内置方法encode
bytes 转 字符串 用 bytes的内置方法encode
a = "shshh"
print(str.encode(a)) # b'shshh'
b = str.encode(a)
print(b) # b'shshh'
print(bytes.encode(b)) # shshh a = "shshh"
print(bytes(a,encoding="utf-8")) # b'shshh'
b = bytes(a,encoding="utf-8")
print(str(b,encodng="utf-8")) # shshh
day7 字符集转换的更多相关文章
- mysql已有数据字符集转换
下面模拟把latin1字符集的数据转换为utf8字符集 一.创建测试表和测试数据: 1.修改会话级别的连接字符集 mysql > set names latin1; 查看一下: 2.创建测试表: ...
- 字符集转换: Ansi - Unicode
字符集转换: Ansi - Unicode wstring AnsiToUnicode (const string& strSrc ) { /*!< 分配目标空间 */ ,strSrc. ...
- 字符集转换: Unicode - Ansi
字符集转换: Unicode - Ansi string UnicodeToAnsi ( const wstring& wstrSrc ) { /*!< 分配目标空间, 一个16位Uni ...
- 利用boost做string到wstring转换,以及字符集转换 - Error - C++博客
利用boost做string到wstring转换,以及字符集转换 - Error - C++博客 利用boost做string到wstring转换,以及字符集转换 #include <boost ...
- libiconv字符集转换库在C#中的使用
<libiconv字符集转换库用法>一文中说到了libiconv能够实现不同字符集的转换. 比方GBK转BIG5等.在项目中由于须要,找到这个库.但是这个库在C#中没有非常好的支持.只是, ...
- 部署OGG时字符集转换问题--oracle to oracle已验证,其他异构环境应当也适用
之前在安装OGG总是遇到字符集问题,尤其是多源端对一个目标端时,源端字符集不同,导致出现字符集问题 无法同步数据,查阅了大量的园子资料,都说要设置复制或抽取进程中SETENV (NLS_LANG=AM ...
- MySQL字符集转换引发插入乱码问题
根据http://www.cnblogs.com/cchust/p/4601536.html进行验证测试 问题背景 在mysql上面执行一条普通的insert语句,结果报错: Incorrect st ...
- Oracle字符集转换
这几天在工作中碰到一个字符乱码的问题,发现在cmd窗口的sqlplus中直接update一个中文和使用@调用一个文件作同样更新的时候,存储的结果 竟不一样.一时比较迷惑,对Oracle ...
- 彻底理解mysql服务器的字符集转换问题
主要参考这三个文章: https://www.xiariboke.com/article/4147.html http://blog.sina.com.cn/s/blog_690c46500100k1 ...
随机推荐
- 配置进程外的Session
1.Session保存在SQLServer中配置方法 1)运行.NetFramework安装目录下对应版本的aspnet_regsql.exe 来创建相关的数据库.表和存储过程等,比如: C:\Win ...
- Vue-Vue列表渲染v-for
v-for 指令需要以 site in sites 形式的特殊语法 一.v-for 循环数组 HTML代码 <div id="app"> <ul> < ...
- maven 单独构建多模块项目中的单个模块
maven 单独构建多模块项目中的单个模块, maven选项说明 -pl, --projects Build specified reactor projects instead of all pro ...
- C#的抽象类别
抽象类,有3个特点: 第1个,不能被实例化. 第2个,类中的抽象方法在继承的子类中必须重写. 第3个,类一旦有抽象方法出现,那这个类必须定义为抽象类. 现实开发中,发现有共同的代码,可以把这些共同的代 ...
- git lg 配置
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d ...
- Ionic 安装JPush过程
1.在官网注册App帐号,完成后会生成对应的AppKey 2. 进行在线安装 cordova plugin add https://github.com/jpush/jpush-phonegap-pl ...
- [Oracle]Oracle 各产品的 生命周期
http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf
- 在python中使用正则表达式(一)
在python中通过内置的re库来使用正则表达式,它提供了所有正则表达式的功能. 一.写在前面:关于转义的问题 正则表达式中用“\”表示转义,而python中也用“\”表示转义,当遇到特殊字符需要转义 ...
- copy constructor
copy constructor也分为trivial和nontrivial两种 如果class展现出bitwise copy semantics(按位拷贝语义),则不会构造出 copy constru ...
- React Native 教程:001 - 如何运行官方控件示例 App
原文发表于我的技术博客 本文主要讲解了如何运行 React Native 官方控件示例 App,包含了一些 React Native 的基础知识以及相关环境的配置. 原文发表于我的技术博客 React ...