您的位置:首页 > 其它

对于字符编码的一些学习

2015-11-01 16:05 281 查看
原来的文章都在百度空间,好久没上,居然发现百度空间今年上半年已经关闭了,真是浪费了我以前的那么多精力。

旧的不去,新的不来,以后就直接在csdn上面总结吧。

近期在用java改版一个foxpro的程序,涉及到一个字符编码的问题:foxpro中的ASC函数对汉字操作返回汉字的GBK内码,也是因为它是以GBK进行编码的。但我写的java都是以unicode进行编码的,这里涉及到一个转换。虽然以前一眼就过unicode,utf8之类的编码问题,但时间太久已忘了大半。今天认真查找了一下互联网,发现还是有一些讲解不错的,但也发现一些讲的乱七八糟不是很清楚的,尤其在知乎上看到一个人发表的,概念说的不准确。其实,原理就在于要区分字符集和字符编码方式的概念。因此,在这里将我看到的比较好的文章转载过来,以后有机会多读一下。书读三遍,其意自见。

这个博客中的系列文章讲的还算清楚,值得一读:java中文乱码解决之道

这篇文章又重新讲了几者之间的区别,虽然也是转载的,但可以看一看:UNICODE,GBK,UTF-8区别

网上也有不少查询字符编码的网站,有些网站并不准确,这个网站倒不错:查看字符编码

我的java程序实现查询汉字的GBK内码是采用这篇文章中实现的方法:用java实现打印汉字的unicode和GBK编码一览表

另外,在eclipse中默认的编码方式是GBK,一般最好改成utf8。如果原来的代码都是GBK的,可以采用比较笨的方法,新建utf8编码格式的文件,将GBK编码的文件复制上去即可。如果量大的话那就通过工具转吧。实际上,eclipse采用的字符集是unicode(可以将汉字字符转成int看看),这里的GBK和UTF指的是字符编码方式(因为GBK本身既表示字符集也表示编码方式)。这方面讲的比较清楚的是知乎上这篇文章:Windows
记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?

先总结这么多吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: