zoukankan      html  css  js  c++  java
  • 编码问题

    1.ASCII

    二进制和英文字母(也就是拉丁文)的对应表,标准 ASCII 编码共收录了 128 个字符,其中包含了 33 个控制字符(具有某些特殊功能但是无法显示的字符)和 95 个可显示字符。每个字符占用1个字节。而且只会用到较低的7位,有一位被空闲。

    2.GBK

    中文字符编码集,兼容ASCII编码,ASCII字符还是占用一位,汉字占用两位。

    3.Unicode

    统一码,万国码。是一个字符集

    unicode有三种编码方式:

    1. UFT-8:一种变长的编码方案,使用 1~6 个字节来存储;
    2. UFT-32:一种固定长度的编码方案,不管字符编号大小,始终使用 4 个字节来存储;
    3. UTF-16:介于 UTF-8 和 UTF-32 之间,使用 2 个或者 4 个字节来存储,长度既固定又可变。

    只有 UTF-8 兼容 ASCII,UTF-32 和 UTF-16 都不兼容 ASCII,因为它们没有单字节编码。

    4.c语言中的宽窄字符

    c语言在处理英文字符时使用ascii编码,占用一个字节,称为窄字符。char a = 'A'

    处理中文等其他语言的字符时使用UTF-16 或UTF-32编码,占用两个或四个字节 ,字符类型是wchar_t w是wide,t是type

    wchar_t b = L'中'

    注:字节定义使用单引号

    详细查看:http://c.biancheng.net/cpp/html/3424.html

    5.c语言编码问题

    1. 窄字符使用ascii编码
    2. 宽字符,宽字符串使用 UTF-16或 UTF-32
    3. 窄字符串使用编码情况和操作系统和编译器有关,微软编译器使用本地编码,GCC、LLVM/Clang 使用和源文件编码相同的编码。中国来说使用GBK 或者 UTF-8 编码。
  • 相关阅读:
    vue element 表格错位问题
    echarts tooltip 按值的降序显示 tip 信息
    前端 玫瑰花小样式
    echarts X轴数据过多批量显示
    微信js sdk的使用初步理解
    对象 的循环嵌套
    移动端拉起电话请求
    js后加版本号
    数组排序于数组去重
    es6数组的方法
  • 原文地址:https://www.cnblogs.com/jiaojianglong/p/11260878.html
Copyright © 2011-2022 走看看