怎么解决读取txt文件读取时中文乱码问题

Wedding Bus 官方 2024-05-27 00:20:30
最佳回答
从sdcard保存的txt文件读文到android系统中会出现乱码,如何解决这个乱码问网上有解答方法,譬如说利用string temp1 =encodingutils.getstring(strline.getbytes(),"gb2312"); 但并非对所有的情况都适用,解决乱码问题首先要明白为什么会乱码。究其原因,是因为txt文件在win系统上保存时默认为ansi格式,而android目前只支持utf-8编码,因此将txt文件的中文读入android系统中会产生乱码。也有人说直接将txt另存为utf-8编码格式来解决乱码问题,但这种方法指标不治本,不能要求用户手动去更改格式,客户第一嘛。因此还是需要想办法在程序中进行处理。以下做了一些编码格式的测试:测试文本: 122.11196,29.90573,北仑固废厂 测试代码段:reader=new bufferedreader(new filereader(filename));strline=reader.readline() ;string temp1 = encodingutils.getstring(strline.getbytes(),"gb2312");string temp2 = encodingutils.getstring(strline.getbytes("utf-8"),"utf-8");string temp3 = encodingutils.getstring(strline.getbytes(),"utf-8");将文件存成 unicode 格式这种方式能得到非乱码的中文显示,但对于 utf-8 格式下取得的经纬度数字利用double lon = double.parsedouble(lat); 报错 numberformatexception,原因可能是 parsedouble(lat)方法不能处理存成utf-8格式的带标点小数。 将文件 存成 ansi 格式将代码改为:reader = new bufferedreader(new inputstreamreader(new fileinputstream(filename),"gb2312"));strline=reader.readline() ; string temp1 = encodingutils.getstring(strline.getbytes(),"gb2312"); string temp2 = encodingutils.getstring(strline.getbytes("utf-8"),"utf-8"); string temp3 = encodingutils.getstring(strline.getbytes(),"utf-8");即解决了中文乱码问题,又解决了double.parsedouble(lat)报错问题。 20210311
汇率兑换计算器

类似问答
  • 日文 元 怎么读
    • 2024-05-27 09:01:05
    • 提问者: 未知
    日元,读作えん。日元(日语:円,日语en,英文:yen),其纸币称为日本银,是日本的法定货币,日元也经常在美元和欧元之后被当作储备货币。日元下面的辅币单位是钱,1日元等于100钱。日元是日本的货币单位名称,创设于1871年5月1日。1897年日本确立金本位制,含金量定为0.75克,1953年5月含金量宣布为0.00246853克,1988年3月31日彻底废除金本位制度。日本的货币发行银行是日本的中...
  • 解读保监局174号文件闻
    • 2024-05-27 13:29:00
    • 提问者: 未知
    保险小编帮您解答,更多疑问可在线答疑。1.被举报、投诉;2.保监局工作安排需要(阶段临时性、专项检查(两个加强两个遏制)、年度工作计划安排);
  • 解决zabbix中文乱码、无法正常显示的问题
    • 2024-05-27 20:08:09
    • 提问者: 未知
    1如图所示,在查看zabbix server:cpu load(1m)图形时,字体显示为“方框”,无法查看到具体的性能指标名称2修改配置文件vim /usr/share/zabbix/include/locales.inc.php修改内容:'zh_cn' => ['name' => _('chinese (zh_cn)'), &#...
  • 有关pdf文件打印有乱码的问题
    • 2024-05-27 10:31:45
    • 提问者: 未知
    你上传的pdf文件我2页,一切正常,没有(下面的麦考里大学页脚清晰)。你在打印时造成乱码的原因可能是软件问题,我用的是中文版的adobeacrobat6.0(不是reader)。你的这个pdf文件除了允许打印以外,其他都是加密的(使用了acrobat标准的128位加密)。我对你的这个pdf文件做了解密处理(是否加密在“安全性”栏里可查看,如果你使用金山词霸的屏幕取词就能体会到有变化,解密前不行,解...
  • 阅读下面文言文段落,回答下列问题
    • 2024-05-27 09:57:39
    • 提问者: 未知
    (1)过寿,祝寿.;责备,责问.;以何,用什么来. (2)左右逢源,争取更多原本不属于自己的利益
  • 读图文材料,回答问题.
    • 2024-05-27 11:37:12
    • 提问者: 未知
    27日对印度、巴基斯坦、瑞士、德国进行正式访问,这是**新任****的首次外交之旅. 材料2:2013年2月18日巴基斯坦将瓜达尔港的经营管理权正式转交给**. ...
  • 【易语言】怎么读取文本,修改替换一个位置的文本内容?
    • 2024-05-27 22:42:26
    • 提问者: 未知
    这个做起来太复杂了。首先需要确定你的这个文本是不是保证都是一行数据,不会有多行数据其次取的时候不是很难,无非是根据名称判断行的内容,然后替换掉标头的文字,接着将本行的所有标点符号都删除掉,那么剩下的就是你要取出来的内容最后替换的时候比较麻烦,如果你确定你的被取出来的内容是唯一的,则不会出现什么问题。否则的话就需要做位置判断才可以进行替换。非常麻烦。你还不给分。总体来说替换修改批量的做总是有一定规律...
  • matlab怎么读入csv文件
    • 2024-05-27 23:11:51
    • 提问者: 未知
    1、假设有一个数值文件csvl**t.dat,数值情况如下图所示。csv文件是一系列以逗号分开的数值,其逗号为英文模式下输入的逗号。当然下面还有许多数值,就不一一列举了。2、matlab中是使用csvread命令来读取这些文件。filename='csvl**t.dat';aa=csvread(filename);可以看到csv文件中所有的数据...
  • 后缀为dll的数据库文件怎样解读
    • 2024-05-27 15:07:30
    • 提问者: 未知
    后缀dll的数据库文件为动接库,要件上才能用。 附:dll文件(dynamic linkable library 即动态链接库文件),是一种不能单独运行的文件,它允许程序共享执行特殊任务所必需的代码和其他资源  比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软...
  • c语言 读取文件到内存
    • 2024-05-27 06:22:58
    • 提问者: 未知
    1.文件的大小。文件大小:该文件所占的存储空间的大小,基本单位为字节b,字节向上分别为kb、mb、gb、tb,每级为前一级的1024倍,比如1kb=1024b,1m=1024kb。2.是否可以不预先分配e799bee5baa6e997aee7ad94e58685e5aeb931333365646262内存。可以不预先分配跟文件大小一致的内存,但是从文件中...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。