XM_字符转换

原创 2011年01月17日 16:39:00

 

文本处理工具用C++写的

  

注: #define CP_ACP                    0           // default to ANSI code page

 

客户端java读取

 

注:本来new String()支持Unicode-16,但是MultiByteToWideChar处理后写入的字节高低位跟Java相反, 所以这里要先转下。

 

疑问:为什么要转换成Unicode码?直接存成ANSI,然后客户端解析不久成了?

 

 

1 Unicode编码表 
 Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分  
  Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。 编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符,不过现在普遍采用的还是UCS-2,只用两个字节来 编码,看一下Unicode对汉字的编码: 

 

2 汉字编码表  

http://www.cnblogs.com/whiteyun/archive/2010/07/06/1772218.html

 

 

UNICODE-16    UTF-8

 

 

Unicode  UTF-8  

U-00000000 - U-0000007F 0xxxxxxx 

U-00000080 - U-000007FF 110xxxxx 10xxxxxx 

U-00000800 - U-0000FFFF 1110xxxx 10xxxxxx 10xxxxxx 

U-00010000 - U-001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 

U-00200000 - U-03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 

U-00400000 - U-7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 

 

 

http://blog.csdn.net/xfly_studio/archive/2011/01/07/6122391.aspx

 

 

 

【整理】C/C++中字符串与整数之间的相互转换

C/C++中字符串与整数之间的相互转换 一、用C标准库中的sprintf()和sscanf()转换  二、用C++中的stringstream类转换 三、atoi、atof、atol、itoa等 总...
  • sherry_zs
  • sherry_zs
  • 2016年01月13日 20:23
  • 2544

字符串和数字之间的相互转换总结

最近刷题有用到字符串和整形数字之间的转化,特地总结一下。 int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2016年08月18日 23:30
  • 2412

Java 正确的做字符串编码转换

Java 正确的做字符串编码转换 字符串的内部表示? 字符串在java中统一用unicode表示( 即utf-16 LE) , 对于 String s = "你好哦!"; 如果源码文件是GB...
  • H12KJGJ
  • H12KJGJ
  • 2017年06月20日 12:55
  • 3520

String与WString的字符转换代码

  • 2017年11月04日 09:19
  • 1KB
  • 下载

MFC字符转换

  • 2014年06月10日 09:22
  • 9.13MB
  • 下载

CoderCovertLib JNI 字符转换

  • 2012年05月02日 22:44
  • 25KB
  • 下载

C例子:大小写字符转换

  • 2016年06月16日 23:26
  • 753B
  • 下载

字符转换为UNICODE工具

  • 2015年08月27日 15:45
  • 10KB
  • 下载

关于C#.NET的字符转换

  • 2007年07月18日 09:51
  • 134KB
  • 下载

xor校验和字符转换工具集

  • 2015年07月30日 10:25
  • 639KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XM_字符转换
举报原因:
原因补充:

(最多只允许输入30个字)