快捷搜索:

中文问题的一些建议

很多同伙都在开拓时碰到中文问题,现在将我网络到的一些转换函数给大年夜家公布,盼望有赞助。

一样平常来说java都因此unicode进行编码显示,而中文常用的编码有GB2312,和UTF-8,

(不是所有输入的中文都是UNICODE,大年夜家必要留意确认)。大年夜家在传中文时必要自己拼结。

要把GB2312或BIG5转换成unicode 得用:

unicodeString = new String(myString.getBytes(), "GB2312");

unicodeString = new String(myString.getBytes(), "Big5");

然则在一样平常的手机上不合的特点可能并不支持GB2312和Big5,我所知道的moto的手机就不支持。

以是,以下函数可能用的上。(注明:并非我写的,然则都是精确的)

class transCN{

static public String convertUTF8String2Unicode(String instr)

throws IOException {

//byte[] strbytes = instr.getBytes();

int charindex = instr.length();

int actualValue;

int inputValue;

StringBuffer sbtemp = new StringBuffer();

for (int i = 0; i > 6) & 0x1F) | 0xC0);

abyte[j++] = (byte) ((c & 0x3F) | 0x80);

}

else if (c > 12) & 0x0F) | 0xE0);

abyte[j++] = (byte) (((c >> 6) & 0x3F) | 0x80);

abyte[j++] = (byte) ((c & 0x3F) | 0x80);

}

else if (c > 18) & 0x07) | 0xF8);

abyte[j++] = (byte) (((c >> 12) & 0x3F) | 0x80);

abyte[j++] = (byte) (((c >> 6) & 0x3F) | 0x80);

abyte[j++] = (byte) ((c & 0x3F) | 0x80);

}

}

byte[] retbyte = new byte[j];

for (int i = 0; i > 8);

}

return abyte;

}

}

您可能还会对下面的文章感兴趣: