-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows 电脑区域设置为中国大陆时,其编码不应该用简单的 GBK
说明
#11
Comments
如果我没记错的话,GB18030已经包含了整个Unicode字符集,只是在兼容GBK的二字节编码基础上。
不知道wendous11的cp936是不是升级了,在我的win10佛武器上“ANSI”依然无法正常保存带有emoji的文本,但python的encode('gb18030')可以。
无法顺畅的大口呼吸,是活着的最好证明
…---原始邮件---
发件人: ***@***.***>
发送时间: 2024年7月22日(周一) 下午2:05
收件人: ***@***.***>;
抄送: ***@***.***>;
主题: [parallel101/cppguidebook] windows 电脑区域设置为中国大陆时,其编码不应该用简单的 `GBK` 说明 (Issue #11)
https://parallel101.github.io/cppguidebook/unicode/#_8
GBK 只为“技术规范指导性文件”,不属于国家标准。
也就是严格意义来说,它并不是具体编码,虽然大家平时都这样说。
国家质量技术监督局于2000年3月17日推出了GB 18030-2000标准,以取代GBK。GB 18030-2000除保留全部GBK编码汉字,在第二字节把能使用范围再度进行扩展,增加了大约一百个汉字及四字节编码空间,但是将GBK作为子集全部保留。请参看GB 18030。
根据微软资料,GBK是对GB2312-80的扩展,也就是CP936字码表(Code Page 936)的扩展(之前CP936和GB 2312-80一模一样),最早实现于Windows 95简体中文版。虽然GBK收录GB 13000.1-93的全部字符,但GBK是一种编码方式并向下兼容GB2312;而GB 13000.1-93等同于Unicode 1.1是一种字符集,它的几种编码方式如UTF8、UTF16LE等,与GBK完全不兼容。
windows 中国大陆区域,输入 chcp 均会得到:
活动代码页: 936
源自维基百科,总而言之,提到了
gb2312 -> gbk -> gb18030。
编码事情多,看情况描述吧。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
其实我很早之前想过这个问题,微软从始至终也没说过 chcp 得到 936,到底代表什么编码,从来没说过。 |
微软在稍新一点的
|
关于编码,或许输入法相关的资料更为详细 |
https://parallel101.github.io/cppguidebook/unicode/#_8
原文:
GBK 只为“技术规范指导性文件”,不属于国家标准。
国家质量技术监督局于2000年3月17日推出了GB 18030-2000标准,以取代GBK。GB 18030-2000除保留全部GBK编码汉字,在第二字节把能使用范围再度进行扩展,增加了大约一百个汉字及四字节编码空间,但是将GBK作为子集全部保留。请参看GB 18030。
根据微软资料,GBK是对GB2312-80的扩展,也就是CP936字码表(Code Page 936)的扩展(之前CP936和GB 2312-80一模一样),最早实现于Windows 95简体中文版。虽然GBK收录GB 13000.1-93的全部字符,但GBK是一种编码方式并向下兼容GB2312;而GB 13000.1-93等同于Unicode 1.1是一种字符集,它的几种编码方式如UTF8、UTF16LE等,与GBK完全不兼容。
源自维基百科,总而言之,提到了
gb2312 -> gbk -> gb18030。
编码事情多,看情况描述吧。
The text was updated successfully, but these errors were encountered: