关于Unicode编码与ASCII编码的问题
时间:2011-12-10
来源:互联网
在默认情况下,VC6.0是按ASCII编码进行编译;如果我设置了UNICODE编码,程序就是按UNICODE编码方式进行编译。
假如我的程序在vc6默认编码下按ASCII编码编写(即ascii编码,或者说事ansi编码),能够运行成功,然后我发布这个程序,
这个发布后的程序能否运行还要看其所在的操作系统的编码方式,如果其所在的炒作系统是ASCII编码,则程序能够运行,如果是
UNICODE或者其他地区的page code,就不能运行。请问我理解的对么?
如果是理解的是对的,那么我如何才能知道操作系统是什么编码呢,我怎么查看我的操作系统是什么编码?
假如我的程序在vc6默认编码下按ASCII编码编写(即ascii编码,或者说事ansi编码),能够运行成功,然后我发布这个程序,
这个发布后的程序能否运行还要看其所在的操作系统的编码方式,如果其所在的炒作系统是ASCII编码,则程序能够运行,如果是
UNICODE或者其他地区的page code,就不能运行。请问我理解的对么?
如果是理解的是对的,那么我如何才能知道操作系统是什么编码呢,我怎么查看我的操作系统是什么编码?
作者: wonderfullworld 发布时间: 2011-12-10
作者: c_losed 发布时间: 2011-12-10
c_losed 我明白你的意思。也就是说,即使运行成功,也会因为编码的问题出现各种情况。
其他的理解正确么?
其他的理解正确么?
作者: wonderfullworld 发布时间: 2011-12-10
肯定是可以运行的,任何语言和版本的Windows都是支持ANSI程序的,不过重点在于能不能正确显示文字。
比如你在中文平台上运行日文ANSI程序,就是乱码,只有修改区域设置或者使用AppLocale来解决。
至于Unicode程序,Win95/98/ME等系统有时可能不能正确支持,需要安装unicows.exe,也就是微软的Unicode支持层才行。不过一般来说现在都建议使用Unicode编程。
比如你在中文平台上运行日文ANSI程序,就是乱码,只有修改区域设置或者使用AppLocale来解决。
至于Unicode程序,Win95/98/ME等系统有时可能不能正确支持,需要安装unicows.exe,也就是微软的Unicode支持层才行。不过一般来说现在都建议使用Unicode编程。
作者: Bokutake 发布时间: 2011-12-10
我糊涂了,我在书上看到这么几句原话:
“您将发现宽字符执行时期链接库中的函数比常规的函数大。出于这个原因,您也许想建立两个版本的程序-一个处理ASCII字符串,另一个处理Unicode字符串。最好的解决办法是维护既能按ASCII编译又能按Unicode编译的单一原始码文件。
……
TCHAR.H还用一个新的数据型态TCHAR来解决两种字符数据型态的问题。如果定义了_UNICODE标识符,那么TCHAR就是wchar_t:
C/C++ code
否则,TCHAR就是Char:
C/C++ code
然后还举了好多例子,比如_tcslen、__T(x)等等
这是什么意思?我是这样理解的,在ASCII编码下,就使用strlen,char,等等,不要使用wchar_t,wcslen等等,否则就会报错。是这样么?
但是我在VC6.0新建了一个Win32 Consolo Application,在默认的情况下(ASCII编码的情况下),使用了wchar_t,也没有报错啊。这个怎么回事,我糊涂了……
“您将发现宽字符执行时期链接库中的函数比常规的函数大。出于这个原因,您也许想建立两个版本的程序-一个处理ASCII字符串,另一个处理Unicode字符串。最好的解决办法是维护既能按ASCII编译又能按Unicode编译的单一原始码文件。
……
TCHAR.H还用一个新的数据型态TCHAR来解决两种字符数据型态的问题。如果定义了_UNICODE标识符,那么TCHAR就是wchar_t:
C/C++ code
typedef wchar_t TCHAR;
否则,TCHAR就是Char:
C/C++ code
typedef char TCHAR;”
然后还举了好多例子,比如_tcslen、__T(x)等等
这是什么意思?我是这样理解的,在ASCII编码下,就使用strlen,char,等等,不要使用wchar_t,wcslen等等,否则就会报错。是这样么?
但是我在VC6.0新建了一个Win32 Consolo Application,在默认的情况下(ASCII编码的情况下),使用了wchar_t,也没有报错啊。这个怎么回事,我糊涂了……
作者: wonderfullworld 发布时间: 2011-12-10
操作系统都是unicode的了。
作者: jennyvenus 发布时间: 2011-12-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28