java big5到gb2312的编码转换

心如止水zxl0

心如止水zxl0

2016-02-19 09:46

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐java big5到gb2312的编码转换,希望大家看完后也有个好心情,快快行动吧!
package com.Big5ToUTF8;
import java.io.*;
public class Big5Tran {
private static final String tabFile ="bg-gb.tab";
private static byte[] data;
static{
try{
FileInputStream fis =new FileInputStream(tabFile);
int len =fis.available();
data =new byte[len];
fis.read(data);
fis.close();
}catch(Exception ex){
ex.printStackTrace();
System.exit(1);
}
}
/**
*取得BIG5汉字big在data中的偏移
*/
private static int indexOf(int big){
int high =(big8)&0xff;
int low =big&0xff;
high -= 0xa1;
if(low=0x7e) low -= 0x40;
else low -= (0xa1 -0x7e -1) +0x40;
return 2*(high*157+low);
}
/**
*将保存在bs数字中的big5编码的字符串数据转换成gb2312编码的数据
*注意:此方法将更改原先存储的数据
*@param bs 需要转换的以big5编码的字符串数据
*@return bs 经过转换的数据,保存在参数中的byte数组中
*/
public static byte[] translateBig5ToGb(byte[] bs){
int index =0;
while(indexbs.length){
int high =bs[index]&0xff;
if(high=0xa1&&high=0xfe){
index ++;
if(index=bs.length) break;
int low =bs[index]&0xff;
if(low0x40||low0xfe) continue;
if(low0x7e&&low0xa1) continue;
int offset =indexOf((high8)|low);
bs[index-1] =data[offset];
bs[index ] =data[offset+1];
index++;
}
else index++;
}
return bs;
}
public static String translateBig5ToGb(String big){
String result =null;
try{
byte[] bs =big.getBytes("big5");
bs =translateBig5ToGb(bs);
result =new String(bs,"gb2312");
}catch(Exception e){
}
return result;
}
}
展开更多 50%)
分享

猜你喜欢

java big5到gb2312的编码转换

Web开发
java big5到gb2312的编码转换

用php实现gb2312和unicode间的编码转换

PHP
用php实现gb2312和unicode间的编码转换

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

将GB2312编码转换到UTF-8网页编码

Web开发
将GB2312编码转换到UTF-8网页编码

Linux下如何将UTF8编码批量转换成GB2312编码

电脑入门
Linux下如何将UTF8编码批量转换成GB2312编码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

GB与BIG5内码转换COM原代码

ASP
GB与BIG5内码转换COM原代码

AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法

Web开发
AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

解决EditText、ListView以及GridView同时使用输入法自动跳出来的方法

解决EditText、ListView以及GridView同时使用输入法自动跳出来的方法

获取网址路径的正则

获取网址路径的正则
下拉加载更多内容 ↓