对于英文来说,ascii码 0-127就足以代码所有字符,对于中文而言,则必须使用两个字节(byte)来代表一个字符,具第一个字节必须大于127(所以我们有许程序判断中文都是以ascii码大于127作为条件) 
  以上用两个字节来表示一个中文的方式,在习惯上称为双字节(即DBCS: Double-Byte Character Set),而相对之下,英文的字符码就称为单字节SBCS(Single-Byte Character Set)。 
  虽然双字节(DBCS)足以解决中英文字符混合使用情况,但对于不同字符系统而言,必须经过字符码转换,非常麻烦。例如:中英文混合情况,日文,韩文等等。 
  为解决这个问题,Apple, Xerox, Microsoft, IBM, Novell, Borland...很多公司联合起来制订了一套可以适用于全世界所有国家的字符码,就称为Unicode 
  Unicode的特点是: 
  不管哪一国的字符码均以两个Byte表示,例如"A"在Unicode则是16进制 41和00的组合,即4100,高位41(转换为Ascii码即是65=A), 
  Windows NT/2000以Unicode来表示字符集,例如你可以看到MS SQL Server中产生的SQL文件可以选择是以Unicode来保存还是以普通格式来保存,如果你以Unicode保存,则在95/98平台许多软件均无法正确读出其格式。 
  同时你还可以注意到95/98中API定义,许多名称结尾是有一个A的,例如 
  WriteProfileStringA   
  而在NT/2000操作系统中,提供了两套API,另外一个命令是WriteProfileStringW,以W 结尾的API只适用于NT / 2000。(在NT中使用以W结尾的API函数效率比A结尾的要快,因为省去了Unicode和DBCS/SBCS的转换过程)

这样我们经常要用到的判断字符串长度的函数,在NT和95/98下执行结果不同,如下:(下面代码适合于VB, ASP) 
   
  95/98中: 
  len("abc中国") 返回 7 (因为每个中文作为两个Ascii码来看)

nt/2000中: 
  len("abc中国") 返回 5 (因为每个字符都作为一个Unicode来看)

什么是Unicode相关推荐

  1. python 2x list 里面的中文打印效果为unicode 编码 的处理方法

    处理方法如下.这个问题在python 3x 中不会出现 #!/usr/bin/python # -*- coding: utf-8 -*- import sys reload(sys) sys.set ...

  2. 《windows核心编程系列》二谈谈ANSI和Unicode字符集

    第二章:字符和字符串处理 使用vc编程时项目-->属性-->常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集.一般情况下说Unicode都是 ...

  3. Go 学习笔记(31)— 字符串 string、字符 rune、字节 byte、UTF-8 和 Unicode 区别以及获取字符串长度

    1. 字符串 string 类型 Go 语言中字符串的内部实现使用 UTF-8 编码,通过 rune 类型,可以方便地对每个 UTF-8 字符进行访问.当然, Go 语言也支持按照传统的 ASCII ...

  4. Error: The INF file contains Unicode characters that could not be converted correctly

    昨天第一次为自己的windows mobile程序制作CAB安装包,但是在生成过程中,却出现了这样一个问题: 编译完成 -- 0 个错误,0 个警告 time -> G:\WindowsMobi ...

  5. UNICODE使用的一些知识和技巧

    UNICODE宏和_UNICODE宏的关系 在windows编程中,经常要编译Unicode版本的程序,方法是工程文件的配置中加上UNICODE或者_UNICODE编译条件,那么到底是用哪一个呢? J ...

  6. VC++关于UNICODE版本的开发

    关于UNICODE版本的开发 代码转换方案 概述 在VC6.0中,相应的有一些宏来代替ANSI的函数.宏或数据类型,这些宏在ANSI编译条件中处理字符串为单字节,而在UNICODE中处理字符串为双字节 ...

  7. ASCII、Unicode、GBK和UTF-8字符编码的区别联系

    一直对编码这块晕晕乎乎,今天终于看到一篇写的很清楚也很风趣的文章,转过来mark一下. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状 ...

  8. Unicode转义(\uXXXX)的编码和解码

    在涉及Web前端开发时, 有时会遇到\uXXXX格式表示的字符,  其中XXXX是16进制数字的字符串表示形式,  在js中这个叫Unicode转义字符, 和\n \r同属于转义字符.  在其他语言中 ...

  9. 【字符串操作之】返回指定位置的字符和Unicode 字符代码 根据unicode返回字符→→charAt、charCodeAt和fromCharCode...

    //charAt和charCodeAt分别返回指定位置处的字符和字符对应的unicode码 var str:String="abcdefg"; var str2=str.charA ...

  10. Windows环境下Unicode编程总结和将ANSI转换到Unicode 将Unicode转换到ANSI

    Windows环境下Unicode编程总结 UNICODE环境设置 在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下. UN ...

最新文章

  1. docker 查看容器磁盘大小_软件安全 : Docker逃逸详解
  2. linux shell shift命令 参数移动 简介
  3. python中options设置_如何在AngularJS的ng-options中设置value属性?
  4. DCMTK:解压缩RLE压缩的DICOM文件
  5. java service wrapper日志参数设置及优化
  6. C#实现Web文件的上传
  7. Ocrad.js – JS 实现 OCR 光学字符识别
  8. 计算机管理器win8.1,没事折腾?Win8.1文件管理器设置几招
  9. 编译后没有taget文件夹_matconvnet安装、编译、配置
  10. c语言万年历设计背景,万年历设计报告
  11. 【离散数学】基础理论归纳
  12. windows多个服务器之间共享文件夹,windows server 2008 R2 部署NFS,实现多台服务器间、客户端间的共享目录。...
  13. intel 酷睿core系列cpu的类型:U M H HQ MQ
  14. 2021年中国充电桩行业发展环境(PEST)分析:随着新能源汽车的增加,充电桩也随之增加[图]
  15. 2023扬州大学计算机考研信息汇总
  16. vue中使用腾讯视频播放器
  17. 手游虚拟机服务器,手游剑侠情缘虚拟机镜像一键服务端+安卓客户端+远程工具+架设教程...
  18. 二维码制作(QRCode)
  19. 定义一个数组,里面存放星期一、星期二…… 直到星期日(共7天),在页面显示奇数日,如星期一,星期三,星期日等。
  20. PTcms精美小说阅读网站源码/带采集规则

热门文章

  1. 预判“四化”,阿里云把脉数据库最新发展方向
  2. docker学习笔记2
  3. day07 hdfs
  4. Android - 系统时间
  5. python 开发环境的搭建
  6. STC15F2K60S2设置内部时钟工作频率
  7. java遍历易百教程_Java PrintStream类示例
  8. 2011腾讯海笔 大概题型(欢迎讨论)
  9. php 英语自我介绍,工作英文自我介绍
  10. c语言中int下小数求余大数,Sicily1020-大数求余算法及优化