铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2172|回复: 4

[其他] 中文编码讲座

[复制链接]
发表于 2018-8-4 00:21 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
以下为QQ群中对话记录:

cp936是什么
cp936基本等于gbk,与gb18030相差不多,为中华人民共和国规定的字符集,几乎包含你知道的全部简体和繁体字
cp936是微软在中国大陆使用的字符集,与GBK仅有少量区别,通常可以认为一致

问(云淡帝):包含康熙词典里面的吗?
答:包含

cp936~=GBK~=GB18030
gb2312是早年中华人民共和国规定的一个字符集,包含6763个汉字字符,仅有简体
目前基本可以认为已被淘汰
cp950是微软在繁体中文地区的字符集,基本等于big5,包含大部分繁体字,没有简体字,可以认为是一个垃圾字符集

捧(欢总):机器猫博古通今
捧(云淡帝):不是震古烁今吗?

unicode是统一码,目的是所有字符,包含各个国家的,还有古文的字符,均使用唯一编码表示,因此如果使用这种字符集,基本不需要考虑区域问题
utf-8则是unicode的一个编码方案
同样,还有utf-16,utf-32等

问(云淡帝):原版dos仙剑一用的什么?
答:台湾的游戏一般都是用big5 即cp950

问(云淡帝):那为毛好多台湾游戏乱码!
答:你的电脑肯定是cp936字符集 它与cp950有些同样的编码,在两个字符集中不同的 所以有乱码

那么kys-cpp使用的编码是什么呢?
是cp936
为何用这个的原因:utf-8中文占3个字节,cp936中文占两个字节,计算字串长度时容易一点。
visual studio如果使用utf-8编码的源代码,需要修改少量设置 也是为了省一点空间

问(小bt):utf8中文都是3字节吗?
答:基本是的
问(小bt):如果我做substring搜索这种,确定3个3个来就行了?
答:不行的 英文字占1个字节
问(小bt):假如只有中文
答:那可以
问(云淡帝):那标点符号
答:中文标点3字节

仅有微软的编译器能混合处理不同编码的源文件,并将其正确链接
gcc和clang都不行
如果统一用utf-8,比较好的方法是带bom的文本文件,可以正确跨平台和被vs编译,不过现在搞linux的都倾向不带bom,两伙人经常撕逼
gcc,clang,vs都能正确处理带bom的utf-8文件
但是vs处理不带bom的utf-8文件需要加一个选项

(小bt发表了一些感慨)
(云淡帝问了一些BT帝暂时忽略的问题)

u8开头的字串仅有vs能正确处理所有编码
转码方案是有规定的,可以看百度百科 (百科图)

问(小bt):u8开头的字串仅有vs能正确处理所有编码 这句话怎么理解?
答:u8开头的字串,如果源码的编码是gbk,vs能给你自动转utf8 clang和gcc必定报错

一般linux系统都是用utf-8

(冷场)

问(小bt):那么 这里关键 iconv -f big5 -t gb2312 怎么搞
答:两个垃圾编码,不用搞了
问(小bt):重点是,一个是繁体 一个简体 所以才能转的啊
答:/捂脸 所以不推荐的 微软有一个api可以拿来糊弄

问(小bt):我想起来论坛有个帖子讲过这件事 绝对有 syp还是谁写的
答:。。可以查一查

freepascal自己就带了各种转码


【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2018-8-4 00:22 | 显示全部楼层
上面的有一些错误:

gbk~=cp936

但是GBK包含汉字21003个,而GB18030的汉字是70244个
GBK是GB18030的子集
GB2312基本被淘汰,不要再使用。

繁体地区(例如香港特别行政区,澳门特别行政区,台湾等地)仍以big5为主。但是这个编码因为字符少,缺字严重,加上各个组织对其进行的扩展互不兼容,实际上已经成为交流的阻碍,没什么前途了。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-8-4 00:24 | 显示全部楼层
学生前来捧场
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-8-4 05:29 来自手机 | 显示全部楼层
文盲前来捧场
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-8-4 10:31 | 显示全部楼层
曾经有过好奇过这个问题,但不知道咋说这个事情。因为有的游戏要装转码工具。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-4-30 04:48

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表