对一个问题我不清楚,就是:
对于一个unicode的vc工程,资源在建立的时候就指定了使用某一种
代码页,比如指定的是中文。个资源编译成二进制文件后保存成unicode码。
当在其他的语言环境中(如日文的操作系统)使用它的时候,这个日文系统
如何正确显示在资源文件中和程序中用于输出的中文字符串和日文字符串。
我的意思是问,代码页和unicode在其中都承担了什么样的角色和职责?
在编译中,如果指定了-unicode宏工程就编译成unicode 工程,否则就是ansi工程。
这个——DBCS宏是指定多字节,它在编译中的作用是什么?
我对字库,代码页,字符集等没什么概念希望指教

解决方案 »

  1.   

    unicode的每个字符是由short表示,ansi的每个字符是1个字节(BYTE),在ansi中每个汉字是由两个BYTE组成的.用unicode的程序中文在英文windows中能正确显示,只要windows中有中文语言包,而ansi则不行。
    windows的Api有两种version,一个是unicode,一个是ansi,如GetWindowText会有GetWindowTextA和GetWindowTextW两个,当你用ansi工程时GetWindowText是调用的是GetWindowTextA,用unicode是调用的是GetWindowTextW,另外,NT内核是unicode的,尽管你用Ansi的,它还是转了个弯调用unicode,说来太多,你还是找本<<windows程序设计>>看吧.