android中关于文件解码时出现乱码的相关分析

本文分析了Android中文件解码时出现乱码的原因,主要涉及字符集和编码的概念,如UTF-8、GBK、Big5等。在Java应用程序中,通过检测文件头信息确定正确编码方式避免乱码,同时提供了字符编码转换的方法,以解决可能出现的编码不匹配问题。
摘要由CSDN通过智能技术生成

       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等。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值