ANSI,MBCS,UNICODE

原创 2006年06月21日 20:05:00


编程的书中经常介绍UNICODE,还有字符串函数中经常见各种格式,下面以以"abc我你他"为例分别介绍

测试源码:

TCHAR* p = _T("abc我你他"); 
std::cout << _tcsclen(p);

我们写的代码应该是这个样子的,即既符合ANSI又符合UNICODE的代码,使用_T宏和_ts函数集。

一、ANSI编码:普通英文字母一个,汉字占两个字节。"abc我你他"占用9个字节。
 
 编译选项里没有相关选项
 输出9
 此时,_tcsclen为strlen,结果为字节数。

 使用多字符函数,即MultiByte函数,编译选项里设置_MBCS, 该选项VC默认生成的工程里有(Project->Setting->C++->Preprocessor Setting)。
 此时_tcsclen 为_mbslen。输出结果为6,实际占用9个字节。

二、UNICODE编码,所谓宽字符,英文字符和汉字都占用2个字节,编译选项里设置_UNICODE,UNICODE
 源码相当于wchar_t* p = L"abc我你他";
  std::cout << wcslen(p);
 结果为6,实际占用12个字节。;

ASCII、ANSI、MBCS、UNICODE字符集详解

1.ASCII(American Standard Code for Information Interchange)美国信息交换标准代码,这是计算机上最早使用的通用的编码方案。那个时候计算机还只是拉...
  • haibosdu
  • haibosdu
  • 2015年12月31日 15:29
  • 550

C++中Unicode与MBCS版函数对应表

因为项目碰到了国际化的问题,自己整理了一下, 主要是从tchar.h里面导出的 包括类型和各类字符相关的处理函数,大部分都应该是用不到的。如果有想用自动化工具替换字符升级到unicode版本的,这个...
  • linkin___park
  • linkin___park
  • 2012年10月20日 19:42
  • 647

ANSI、MBCS与UNICODE

4.5.2  ANSI、MBCS与UNICODE目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Info...
  • shiwei0124
  • shiwei0124
  • 2009年09月08日 14:05
  • 457

ANSI、MBCS、UNICODE字符集

1.三种计算机字符集    计算机字符集可归类为三种,单字节字符集(SBCS)、多字节字符集(MBCS)和宽字符集(即Unicode字符集)。   单字节字符集(SBCS):     单字节字...
  • zxxSsdsd
  • zxxSsdsd
  • 2014年01月15日 18:31
  • 779

ANSI、MBCS与UNICODE

目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准...
  • bluejoe2000
  • bluejoe2000
  • 2009年08月19日 08:22
  • 2033

unicode和MBCS

1: 首先更改项目属性为多字节字符集.2: 对于所有 L"字符串", 去掉L, 或改为=> _T("字符串")       ps1: _T是个自动替换的宏, 可以根据编译条件的不同, 替换成不同的东西...
  • liu4584945
  • liu4584945
  • 2011年02月17日 13:48
  • 2400

Unicode和MBCS

感谢原作者分享! 为了程序编写方便,根除乱码问题等等需求,很多新项目都采用了Unicode编码。 同时,不少使用MBCS多字节编码的旧项目为了升级,也有了转向Unicode编码的意向。...
  • lost_hunter
  • lost_hunter
  • 2013年10月01日 18:40
  • 1032

两种UNICODE字符集和MBCS字符集之间的转换方法

写之前声明一下, 此篇日志参考与《把脉VC++》。           两种方法如下:           1、利用Windows提供的转换函数WideCharToMultiByte()和Mult...
  • csf111
  • csf111
  • 2011年12月06日 11:15
  • 1137

4.5.2 ANSI、MBCS与UNICODE

  • bluejoe2000
  • bluejoe2000
  • 2009年08月17日 08:35
  • 1609

ANSI和UNICODE字符的相互转化

ANSI和UNICODE字符的相互转化VC++编程中经常用到ANSI和UNICODE字符之间的转换,很容易搞混,处理方法也很多,这里提供一种简单、可靠的方法。...
  • NNNNNNNNNNNNY
  • NNNNNNNNNNNNY
  • 2015年06月14日 01:06
  • 2132
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ANSI,MBCS,UNICODE
举报原因:
原因补充:

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