生僻字及编码问题

来一段历史

简约来讲的话…电脑最开始 只有ASC 码,当时创造的电脑的人们没有想到电脑现在会如此国际化,他们只考虑到自己的语言——英语,
ASC 在电脑中处理英语 绰绰有余。
后来随着电脑的发展,别的国家也需要有自己的这个计算机语言编码,然后中国人就在ASC的基础上继续扩展,然来 ASC只是用一个字节,汉字因为比较多,则用到了两个字节, 这样诞生 了GB2312 –> GBK –>GB100** 这是一个扩展的过程,也可以说是版本的更新吧。
那么每个国家都有自己的一套编码,那么又出现一个问题,就是 混乱,没有规矩。而且相互隔绝,对于国际化非常不利。
那么很自然国际开始制定了 一个国际编码,将全世界的所有语言都纳入编码之中,这样产生了Unicode 万国码,类此的还有ISO标准。
在编码上终于可以告一段落了,但是在数据的传送上面 英语国家开始闹别扭了,好了..我原来只需要一个字节就很够了,但是现在因为一国际化,我这传送或者本地文件保存的数据量则翻了倍(要知道以前的网速是很慢的,硬盘是很小很贵的),这个不公平,好吧..有没有一种方式,比喻碰到是英语字母区段 那么就只要一个字节,这样又诞生了UTF-8(8-bit Unicode Transformation Format) ,UTF-8是传送数据编码格式,严格说他不能产生与任何语言文字的映射关系,完全是为了数据传送的方便而设计出来的,Unicode 其根据 语言处于Unicode 不同的区段 来决定了所要传送字节的个数,比喻英文区段 只要一个字节 就够了,而汉字 则变成了 三个字节 (这对于中国有些不公平啊!)。但是这样的UTF-8是不能直接进行解码的..需要利用软件来翻译成Unicode.好了,映射关系建立了,剩下的就是通过文字工具将这些编码填鸭式的显示出来就欧了。

生僻字问题

生僻字 礼 粘贴到Android Studio中的.java或者string.xml文件中的时候,会变成 礼 。
WHY?
AS的文件默认是UTF-8格式的,

解决方法:

  1. 将生僻字放在.txt中,存到assets中,通过asset读取。
  2. 用Unicode编码:

你可能感兴趣的:(Android)