梦想 就像鸡蛋
要么孵化 要么臭掉
要么孵化 要么臭掉
中文字符编码格式判断
Made In Zeal 转载请保留原始链接:http://www.zeali.net/entry/444
一年前在日志里面贴了一套繁简体(GB<=>Big5)字符串转化的JAVA方式实现的源代码,最近有朋友在问如何在转化的过程中先判断原始字符的编码格式。在此提供一个简单的 java class 以供参考。
一般来说要对字符编码格式进行判断就是根据各种编码两个字节的起止范围作判断,如果符合起止范围就认为是某种字符编码。但理论上来说不同的字符编码有可能会采用同样的字节范围,所以这种方法并不能完全把某个双字节字符对应到唯一的一种编码格式上(所以说如果大家都用 utf-8 ,整个世界就清静了)。这种伴随着计算机发展而衍生出来的各种双字节语言字符编码只能是尽量想办法处理,但难有完美解决方案。
CnCharsetChecker.java 源代码:
以上代码依据 MySQL 源代码中对于 GB2312 / GBK / Big5 这几种常见中文编码格式的双字节范围判断改写。你还可以从 MySQL 源码包的 strings/ctype-*.c 系列文件中找到其他语言字符编码的范围定义(当然现在有了 Google Code Search,你不需要去下载整个源码包也可以搜索到所有相关的代码)。
This Entry was Last Modified on 2007-05-28 14:38
发贴统计
日志存档
2008年 05月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2007年 08月
2007年 07月
2007年 06月
2007年 05月
2007年 04月
2007年 03月
2007年 02月
2007年 01月
2006年 12月
2006年 11月
2006年 10月
2006年 09月
2006年 08月
2006年 07月
2006年 06月
2006年 05月
2006年 04月
2006年 03月
2006年 02月
2006年 01月
2005年 12月
2005年 11月
2005年 10月
2005年 09月
2005年 08月
2005年 07月
2005年 06月
2005年 05月
2005年 04月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2007年 08月
2007年 07月
2007年 06月
2007年 05月
2007年 04月
2007年 03月
2007年 02月
2007年 01月
2006年 12月
2006年 11月
2006年 10月
2006年 09月
2006年 08月
2006年 07月
2006年 06月
2006年 05月
2006年 04月
2006年 03月
2006年 02月
2006年 01月
2005年 12月
2005年 11月
2005年 10月
2005年 09月
2005年 08月
2005年 07月
2005年 06月
2005年 05月
2005年 04月
Zeal Blog 基于

Pivot1.24.1 开发
Pivot1.24.1 开发
Launched @ 2005-04-27
继续阅读

这是我的结果:
爱 is true for GB2312;true for GBK,true for BIG5
愛 is false for GB2312;true for GBK,false for BIG5
ぱ is true for GB2312;true for GBK,true for BIG5
按照unicode,每个子字符集都分配在某个特定的段