utf-8是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一 个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持 UTF8字符集的浏览器上显示。
GBK 是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中 文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大.
ASCII码是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
普通的ASCII码是0-127扩展的是128-255
windows 是有默认的编码的 而编码信息一般是集成在硬件或者操作系统上的 也就是说一般的系统上都可以使用很多种编码,关键是当前软件使用什么编码,,如果你没设置 就使用默认(软件使用操作系统默认编码)...JAVA是使用Unicode编码 那也只是在内存中的存放形式是UNICODE
而用java写入的本地文件 还是用的本地操作系统的编码....
一般情况下 在java程序内部信息传递 不考虑编码 因为都是UNICODE
但是将文件,写到磁盘或者进行网络传递 ,才需要考虑编码
一般使用的都是0-127的ascii码表,你计算机上默认的码表应该就是GBK所以才会出现这种情况
|