请问unicode ,bstr,及ANSI字符 ,ASCII字符,到底有什么不同?

lailaimao 2002-02-22 04:29:53
我只知道:bstr 为两字节一个字符。ANSI为一字节表示一字符。其它的就不懂了。
请指教!
...全文
131 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lailaimao 2002-02-27
  • 打赏
  • 举报
回复
谢谢Bardo
lailaimao 2002-02-27
  • 打赏
  • 举报
回复
谢谢Bardo
lailaimao 2002-02-27
  • 打赏
  • 举报
回复
谢谢zifzhu.
zifzhu 2002-02-26
  • 打赏
  • 举报
回复
asc长度为7位,共有128个字符,我们常用的英文字母和符号都包含在这里边。
ascII长度为8位,共有256个字符,前128个字符为asc.
ANSI长度为8位,共有256个字符。前128个字符也为asc.
ascII和ANSI只是在一些控制符号上有区别。
小插曲:C中的char 为signed char,除去第一个符号位,正好用7位来表示asc.
Unicode长16位,即2个字节,被C/C++定义成wchar_t.
OLECHAR在win32和Solaris OS中为16位,即2个字节,被C/C++定义成wchar_t.
OLECHAR在win16和MAC OS中为8位,即1个字节,被C/C++定义成char.
BSTR是一个包含长度前缀的OLECHAR数组。既它的长度不是由NULL结尾字符决定,而是由长度前缀决定。
BSTR不等于OLECHAR,OLECHAR也不等于UNICODE。
lailaimao 2002-02-26
  • 打赏
  • 举报
回复
asc长度为何7位:unicode 还不明白,是说什么呢?
Bardo 2002-02-26
  • 打赏
  • 举报
回复
对的,BSTR一家是unicode,asc长度为何7位:unicode
lailaimao 2002-02-26
  • 打赏
  • 举报
回复
asc长度为何7位?还有bstr不也是两字节表示一个字符么?那么BSTR一定是采用unicode 字符结构了,对么?
lailaimao 2002-02-23
  • 打赏
  • 举报
回复
那么Unicode 是不是和Bstr 一回事?
zifzhu 2002-02-23
  • 打赏
  • 举报
回复
那么Unicode 不是和Bstr 一回事,UNICODE是个字符结构,而Bstr是一个字符串结构
zifzhu 2002-02-23
  • 打赏
  • 举报
回复
Bstr是一个字符串结构,它有一个长度前缀指示字符串有多少字节长度。
另:asc长度为7位,ANSI长度为8位。asc为ANSI的子集。
其余的Bardo(巴顿)说的很清楚了
Bardo 2002-02-22
  • 打赏
  • 举报
回复
Bstr是给与VB共用的。ASCII 是 美国信息互换标准代码。
如 " 的ASCII 是34
Unicode是为双字节文字用的。因 ASCII 只有255个。
相当于其它操作系统中的DBCS (双字节系统)
即用两个ASCII表示一个字符。这样共有65535个。
ANSI: 美国国家标准化组织 即单字节的字符。

供参考。

实际上VC中还有:
CString,Char,LPCTSTR,LPSTR等。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧