Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(二)
String contentUri = null;
Uri uri =null;
if (intent.getData() != null) {
uri = intent.getData();
contentUri = "file".equals(uri.getScheme())
? FileContentProvider.BASE_URI + uri.getEncodedPath()
: uri.toString();
String intentType = intent.getType();
if (intentType != null) {
contentUri += "?" + intentType;
}
}
File mFile = new File(uri.getPath());
InputStream mIn = null;
try{
Log.d(LOGTAG,"file is "+mFile);
mIn = new FileInputStream(mFile);
byte[]b = new byte[3];
mIn.read(b);
mIn.close();
Log.d(LOGTAG,"B is "+b[0]+b[1]+b[2]);
if (b[0]==-27||(b[0]==-17&&b[1]==-69&&b[2]==-65)) {
s.setDefaultTextEncodingName("utf-8");//added by chenxuan for SWBUG00027593
}
else{
s.setDefaultTextEncodingName("GBK");
}
}catch(FileNotFoundException e){
Toast.makeText(this,R.string.file_inexistence,Toast.LENGTH_SHORT).show();
finish();
return;
}catch(IOException ex){
finish();
Toast.makeText(this, R.string.read_file_failed,Toast.LENGTH_SHORT).show();
return;
}
Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(二),,5-wow.com
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。