Wing的小站

  • 首页
  • IT新闻
  • 技术文章
  • 生活随笔
  • 休闲娱乐
  • 个人作品
  • 留言板
  • 关于博主
JavaFX,Unity3D,Android,IOS,技术教程,生活随笔
  1. 首页
  2. 技术文章
  3. 正文

Android UTF-8乱码

2016年9月20日 3407点热度 0人点赞 0条评论

最近在做一个App,主要是录制视频,要写入SRT字幕文件,并且还要分割视频同时分割字幕文件。

当我在使用UTF-8写入字幕文件的时候,在android和mac上播放都是正常的,但是在windows的暴风影音上播放字幕乱码了。

仔细搜索了下相关资料,才知道windows上的UTF-8是添加了BOM的,如果是未添加BOM的UTF-8,会因为无法判断编码而中文乱码。

我们只需要在写入文件前,写入BOM字节即可,如下所示:

final File srtFile = new File(filePath);
byte[] uft8bom={(byte)0xef,(byte)0xbb,(byte)0xbf};
FileOutputStream out = new FileOutputStream(srtFile);
out.write(uft8bom);
OutputStreamWriter isw = new OutputStreamWriter(out, "UTF-8");
BufferedWriter bw = new BufferedWriter(isw);

这样就可以正常在windows上识别了。

标签: Android UTF-8
最后更新:2017年4月14日

wing1314

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 Wing的小站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备17006951号-1

42011102000591