鱼C论坛

 找回密码
 立即注册
查看: 12412|回复: 18

[知识点备忘] 第002讲:Unicode 的解救方案

[复制链接]
发表于 2014-5-12 02:04:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
知识点回顾:


1. ASCII 的第一个字母 A 代表 American 美国,严重的突出了它的局限性。


2. ANSI 编码标准有一些共同的特点:

  • 每种 ANSI 字符集只规定自己国家或地区使用的语言所需的'字符',比如简体中文编码标准 GB-2312 的字符集中就不会包含韩国人的文字。
  • ANSI 字符集的空间都比 ASCII 要大很多,一个字节已经不够,绝大多数 ANSI 编码标准都使用多个字节来表示一个字符。
  • ANSI 编码标准一般都会兼容 ASCII 码。


3. 为了解决乱码等诸多问题,Unicode 将世界上所有的符号都纳入其中,每一个符号都给予一个独一无二的编码。


4. Unicode其实就是对双字节字符集出现的问题做了一下改进:

  • 统一所有的字符使用两个字节来存放
  • 将所有国家的语言都放到一个字符集里


5. UTF 规定 Unicode(UCS)应该如何存储,UTF 有三种方案,分别是 UTF-8(最广泛使用),UTF-16(标准的 Unicode 编码方案)和 UTF-32


6. Windows NT 架构全面支持 Unicode,在今后的编程中,我们应该尽量使用 Unicode 才符合时代发展的趋势。


7. Windows 编程中,使用 TEXT() 将字符串括起来可以解决编码问题。


8. Windows 编程中,使用 TCHAR 来定义字符及字符串。


9. 在宽字符的环境里,Windows 自动将 TCHAR 替换为 C 语言的 wchar_t 类型,TEXT() 自动在字符串前加 L 标识。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-17 07:01:39 | 显示全部楼层
非常感谢 甲鱼哥 我明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-23 17:53:59 | 显示全部楼层
学习一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

匿名鱼油  发表于 2014-9-4 09:43:51
:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具

发表于 2015-11-14 09:08:01 | 显示全部楼层
赞赞,知识备忘太爱你了:smile
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-9 15:00:13 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-12 16:22:40 | 显示全部楼层
我就是想表示现在我还是喜欢小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-6 13:25:40 | 显示全部楼层
这个有点像linux上的vfs一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-1 01:36:42 | 显示全部楼层
小甲鱼,棒棒哒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-12 17:07:46 | 显示全部楼层
3q

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-14 16:30:50 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-3 17:23:25 | 显示全部楼层
棒棒的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 21:55:22 From FishC Mobile | 显示全部楼层
豁然开朗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-11 09:15:10 From FishC Mobile | 显示全部楼层
小甲鱼 发表于 2014-5-12 02:04
知识点回顾:



我爱小甲鱼
来自: 微社区
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-4 22:44:13 From FishC Mobile | 显示全部楼层
知其然不知其所以然
虐心
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-2 21:47:34 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-13 21:59:07 | 显示全部楼层
喜欢小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-28 17:31:40 | 显示全部楼层
/*
已学习。谢谢
*/
#include <stdio.h> //纯C例子
#include <wchar.h>
#include <locale.h>

int main()
{
        char str[] = "我学SDK";
        printf("%c\n", str[3]); //字符集问,不出学,学占2和3
        printf("%c\n",str[4]); //可以打出S


        wchar_t ch = L'学';    //必须要加L,且不能使用双引号
                               //因为是字符,所以是单引号
        setlocale(LC_ALL,"Chs"); //设置为简体中文版
        wprintf(L"%lc\n",ch);    //必须要用宽字符版本的printf()
                                //必须要加L

        wchar_t c[] = L"学SDK用WIN8+VS2013";//串,必须用双引号
        //setlocale(LC_ALL, "Chs");
        wprintf(L"%ls %lc\n", c, c[0]); //串,必须用参数%ls
                                       //串中的字符占2字节
         //但在编程中,看作为1个字位

        return 0;
}

/*
Unicode方案:
统一所有字符使用两个字节来存放
将所有国家的语方都放到一个字符集里

*/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 23:22:50 | 显示全部楼层
这个c语言例子很好,学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 04:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表