zoukankan      html  css  js  c++  java
  • 字符编码

    计算机只能处理数字01,如果要处理文本,就必须先把文本转换为数字01,这种转换方式就称为字符编码。

    对于我们而言,你只需要简单记住下面几种编码就好:

    • ASCII编码:早期专门为英语语系编码,只有255个字符,每个字符需要8位也就是1个字节。不兼容汉字。

    • Unicode编码:又称万国码,国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。用2个字节来表示汉字。

    • UTF-8编码:为了节省字节数,在Unicode的基础上进行优化的编码。用1个字节表示英文字符,3个字符表示汉字。天生兼容ASCII编码,所以最为流行。

    • GB2312:我国早期自己制定的中文编码,世界范围内不通用。

    • GBK: 全称《汉字内码扩展规范》,向下与GB2312兼容,向上支持ISO10646.1国际标准,是前者向后者过渡过程中的一个承上启下的产物。windows中文版的汉字编码用的就是GBK。也非世界范围通用的编码

    • 其它编码:非以上类型者的统称。属于能不用就不要碰的编码。

    最后再强调一次,Python3在运行时全部使用Unicode编码!

    另外有这么几条规则,你要记住:

    • 操作系统运行时,在内存中,统一使用的都是Unicode编码,当需要将数据保存到硬盘或者网络传输的时候,就转换为UTF-8编码,进行保存和传输。

    • 用文本编辑器的时候,从文件系统或者说硬盘上读取的UTF-8编码字符被转换为Unicode字符到内存里,供程序或者操作系统使用。编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。

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

    这就是为什么我们一会说Unicode,一会又用utf-8的原因。

    另外,一定要区分代码自己本身的编码和程序要处理的数据的编码!没有特殊要求的情况,请使用utf-8编码。确保文本编辑器使用的是UTF-8 without BOM编码。

  • 相关阅读:
    poj 3468 A Simple Problem with Integers (线段树区间更新求和lazy思想)
    hdu 1166 敌兵布阵(线段树区间求和)
    队列和栈
    完数的输出
    数据类型
    ASP.NET 图片上传工具类 upload image简单好用功能齐全
    ASP.NET 文件上传类 简单好用
    将form表单元素转为实体对象 或集合 -ASP.NET C#
    .NET框架面向对象分层的个人想理
    .NET VS2012 将代码同步上传到 oschina.net 和 github
  • 原文地址:https://www.cnblogs.com/fat-girl-spring/p/14670808.html
Copyright © 2011-2022 走看看