1. 在android中的播放器播放过程中,经常会出现歌曲列表,歌曲播放过程中相关信息出现乱码的情况。这里所说的乱码指的是在这些文件信息中经常会出现像“??。&&¥@”的这样的无效字符。造成这样的原因是:文件在记录信息的时候会使用一定的编码方式,像UTF-8,GBK,Big-5等等,这样的文件如果解析解码时使用的不是与之匹配的解码方式的,这样有些信息就是没有办法被解析解码到的,造成信息的遗漏解析,解码,更或者就是错的解析解码,这样,便出现了这里称之为乱码的错误信息。
字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文,字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码(Character Encoding):是一套法则。是将我们自然的字符对应映射成计算机对应识别的数字对应,即就是把自然符号转换为计算机可以接受的数字系统的数,当然,这个数字是计算机的数字代码。
例如,在计算机中,使用一个字节的大小来表示固定的一个自然字符,假设,“m“这个字符对应的是 00010101,这两者之间是一一对应的关系,这样的话,“m”就完成了字符编码的过程,当然这只是一个假设的例子,不属于任何一种编码方案。
2. 有这样的一种说法:
编码:字符集编码和字符编码方案的一个组合 ,它可以将字符集中的字符,映射成字节序列。编码隐含着编码字符集和字符编码方案,从而也隐含着字符集。就是说是两层含义。在UTF-8这样的编码中,首先明确的是UTF-8中有自己可以表示的自然字符集,每种不同的编码方式所能表示的字符的多少范围是不一样的。第二层,这样丰富的自然字符都有规定序列的数字构成一一对应的关系,这些数字是以字节为单位存储表示的。
UTF-8是一种编码,它是Unicode编码字符集和UTF8编码方案的一个组合。GB2312也是一种编码,它的编码字符集就是编码的简体中文字符集,编码方案采用定长编码。
实践中经常混用编码字符集和编码这两个概念,这是因为大多数编码字符集都只有一种编码方案,这样的编码字符集(或者说编码)包括GB2312,GBK, ASCII, ISO8859-1等。</