现在计算机系统通用的字符编码工作方式总结如下:

1.在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

2.用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里;

3.编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件;

4.浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。

python字符串问题处理:两种字符串如何相互转换?

字符串'xxx'虽然是ASCII编码,但也可以看成是UTF-8编码,而u'xxx'则只能是Unicode编码。

A.把u‘xxx’转换为UTF-8 编码的‘xxx'’用encode('utf-8')方法:

>>> u'ABC'.encode('utf-8')
'ABC'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'

注:英文字符转换后表示的UTF-8的值和Unicode值相等(但占用的存储空间不同),

而中文字符转换后1个Unicode字符将变为3个UTF-8字符,你看到的\xe4就是其中一个字节,因为它的值是228,没有对应的字母可以显示,所以以十六进制显示字节的数值。

B.把UTF-8编码表示的字符串'xxx'转换为Unicode字符串u'xxx'decode('utf-8')方法:

>>> 'abc'.decode('utf-8')
u'abc'
>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
u'\u4e2d\u6587'
>>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
中文

转载于:https://www.cnblogs.com/ppp1314520818/p/7574842.html

令人头疼的字符编码的问题相关推荐

  1. python 乱码 无效_python学习第四天:python基础(字符编码和乱码到底咋回事儿)...

    字符编码 这得从字符编码开始说起: 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题.因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理. 最早的计算机在设计时采 ...

  2. 关于字符集和字符编码自己汇总记录

    第零篇 第一篇 第二篇 第三篇 第四篇:关于"unicode字符是2个字节"这句话的讨论 关于Unicode的中文百科  https://zh.wikipedia.org/wiki ...

  3. Python基础—Py字符编码

    文章目录 前言 1 计算机基础知识 2 文本编辑器存取文件的原理 3 python解释器执行.py文件的原理 4 总结python解释器与文件本编辑的异同 一.字符编码介绍 1 什么是字符编码 2 P ...

  4. 程序员必须知道的字符集与字符编码详解

    在软件的编码和实现中,我们可能会碰到个 一个比较头疼的问题--编码,不同字符间的编码和解码,你确定了解各种字符的编码吗?一个朋友问到了我这 个问题,我虽然能回答一两个出来,但是感觉已经有点模糊,混乱了 ...

  5. java ascii 编码方式_JAVA 的ASCII字符编码一览表

    JAVA 的ASCII字符编码一览表 二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义 0000 0000 0 00 NUL ␀ 空字符(Null) 0000 0001 1 01 SOH ...

  6. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  7. Qt字符编码,创建中文文件

    1.代码文件本身编码: 2.Qt中用于控制读入和写出文件系统时的字符编码由QTextCodec::setCodecForLocale()所决定.一般不用设置,Qt跟系统交互时会根据系统的Locale来 ...

  8. Java学习总结:45(字符编码)

    字符编码 在实际工作中最常见的4种编码如下: GBK.GB2312:中文的国标编码,其中GBK包含简体中文与繁体中文两种,而GB2312只包含简体中文: ISO8859-1:是国际编码,可以描述任何文 ...

  9. python 字符编码问题

    字符编码 一.字符编码的演进 ASCII GB2312    GBK1.0    GB18030 Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言.跨平台 ...

最新文章

  1. 关于 typedef typedef struct typedef union理解 --写给不长脑子的我
  2. 视频插帧--Video Frame Interpolation via Adaptive Convolution
  3. Android更新Ui的几种方法
  4. MFC 图片部分透明
  5. 谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程
  6. java collectiongroup 类_Java中的collection集合类型总结
  7. (18) Node.js npm包管理工具
  8. oracle-约束-序列
  9. 很不错标签云js插件
  10. 如何在PLSQL上使用Oracle
  11. jclasslib插件_IDEA安装jclasslib 插件查看字节码详解
  12. 安全架构--12--企业隐私合规体系建设总结
  13. yigo基础学习笔记4_业务流程
  14. 一插usb接口计算机就重启,电脑故障分析:主机一插USB设备就死机,故障原因令人很无语...
  15. linux 嵌入式 快照_Linux下搭建Cortex-M嵌入式开发环境
  16. 【web-攻击用户】(9.6.2)其他客户端注入攻击:开放式重定向漏洞
  17. Android 双usb 摄像头支持
  18. qml的focus问题
  19. 计算机网络隧道工程,隧道工程
  20. python 获取数据库字段类型_python数据库类型对应

热门文章

  1. C# 多线程学习总结
  2. Javascript简明教程四 作用域
  3. 《LeetCode力扣练习》第75题 颜色分类 Java
  4. python笔试题110题_《Python程序设计》试题库
  5. 深圳大学 c语言,深圳大学C语言实验(3页)-原创力文档
  6. php建立数据库操作类,PHP数据库操作类的定义及使用
  7. 怎么检查linux是否中病毒,linux中怎么检查是否有安装xinted这个服务
  8. Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function解决方法
  9. 业界 | Facebook F8开发者大会首日:扎克伯格走心演讲,VR硬件发售
  10. PostgreSQL9.5:pg_rewind 快速恢复备节点