codepage

更新时间:2024-09-15 15:34

codepage,是一个经过挑选的以特定顺序排列的字符内码列表(内码表)

内码表

简介:

codepage指的是一个经过挑选的以特定顺序排列的字符内码列表(内码表),对于早期的单字节内码的语种,codepage中的内码顺序使得系统可以按照此列表来根据键盘的输入值给出一个对应的内码.对于双字节内码,则给出的是MultiByte到Unicode的对应表,这样就可以把以Unicode形式存放的字符转化为相应的字符内码.

注意ASP和SAP中的codepage的区别。

历史发展

此技术的使用最早追溯到MS-DOS3.3(1987年4月发行)向IBMPC用户引进了内码表的概念,Windows也使用此概念。

最初的IBM字元集被称作内码表437,或者(MS-DOSLatinUS)。内码表850就是「MS-DOSLatin1」,它用附加的带重音字母(但不是Latin1ISO/ANSI标准)代替了一些线形字符。其他内码表被其他语言定义。最低的128个代码总是相同的;较高的128个代码取决于定义内码表的语言。

在MS-DOS中,如果用户为PC的键盘、显示卡和打印机指定了一个内码表,然后在PC上创建、编辑和打印文件,一切都很正常,每件事都会保持一致。然而,如果用户试图与使用不同内码表的用户交换文件,或者在机器上改变内码表,就会产生问题。字符码与错误的字符相关联。应用程序能够将内码表信息与文件一起保存来试图减少问题的产生,但该策略包括了某些在内码表间转换的工作。

虽然内码表最初仅提供了不包括带重音符号字母的附加拉丁字符集,但最终内码表的较高的128个字符还是包括了完整的非拉丁字母,例如希伯来语、希腊语和斯拉夫语。自然,如此多样会导致内码表变得混乱;如果少数带重音的字母未正确显示,那么整个文字便会混乱不堪而不可阅读。

内码表的扩展正是基于所有这些原因,但是还不够。斯拉夫语的MS-DOS内码表855与斯拉夫语的Windows内码表1251以及斯拉夫语的Macintosh内码表10007不同。每个环境下的内码表都是对该环境所作的标准字符集修正。IBMOS/2也支持多种EBCDIC内码表。

ASP中

CodePage的作用,是决定页面以何种编码方式显示动态内容。当页面被服务器处理之后,页面将以CodePage设定的编码输出到客户端。当然,CodePage的参数需正确,否则,将产生错误信息“CodePage 值无效。指定的 CodePage 值无效。”(事件ID: 0204)。如果CodePage没有设置,则服务器使用默认的CodePage加载到你的Session里面,使用程序代码:Response.Write(Session.CodePage)可以查看你当前使用的CodePage。

脚本语言的所有语法,两者不能混淆 使用,否则出错。我们在写ASP时,一般不做限定,因为经常会在一ASP页面写不同的脚本,当然这也是以牺牲执行效率为代价的。

CodePage:可读/可写。整型。定义用于在浏览器中显示页内容的代码页。代码页是字符集的数字值,不同的语言使用不同的代码页。例 如,ANSI代码页为1252,日文代码页为932,简体中文代码页为936。一般情况下,当你上传到国外网页空间,或者提取数据库记录等出现乱码时,就 采用这种方法解决。

SAP中

最经常我们使用的读取数据的方法就是使用GUI_UPLOAD这个FM.在这个FM中有个CODEPAGE,是用来指定代码页的.

OEM(IBM PC)代码页

代码页819实现了拉丁语(Latin-1)(ISO/IEC 8859-1),用于IBM AS/400小型机。

中日韩语言代码页

既是OEM代码页,也是Windows代码页。

其他代码页

ANSI代码页

Windows(ANSI)代码页

Windows-1252与ISO-8859-1并不完全一致。ISO-8859-1在0x80-0x9F范围的控制字符,在Windows-1252中被可打印字符取代。由于在web网页中,ASCII控制字符不起作用,所以网页一般用Windows-1252代码页标记替代ISO-8859-1标记。

https://en.wikipedia.org/wiki/Windows_code_page

https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers?redirectedfrom=MSDN

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}