Android识别字符串中的简体和繁体字

标准编码格式

编码别名语言
ascii646、us-ascii英语
big5big5-tw、csbig5繁体中文
big5hkscsbig5-hkscs、hkscs繁体中文
cp037IBM037、IBM039英语
cp273273、IBM273、csIBM273德语
cp424EBCDIC-CP-HE、IBM424希伯来语
cp437437、IBM437英语
cp500EBCDIC-CP-BE、EBCDIC-CP-CH、IBM500西欧
cp720阿拉伯语
cp737希腊语
cp775IBM775
cp850850、IBM850西欧
cp852852、IBM852中欧和东欧
cp855855、IBM855保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语
cp856希伯来语
cp857857、IBM857土耳其语
cp858858、IBM858西欧
cp860860、IBM860葡萄牙语
cp861861、CP-IS、IBM861冰岛语
cp862862、IBM862希伯来语
cp863863、IBM863加拿大语
cp864IBM864阿拉伯语
cp865865、IBM865丹麦语/挪威语
cp866866、IBM866俄语
cp869869、CP-GR、IBM869希腊语
cp874泰语
cp875希腊语
cp932932、ms932、mskanji、ms-kanji日语
cp949949、ms949、uhc韩语
cp950950、ms950繁体中文
cp1006乌尔都语
cp1026ibm1026土耳其语
cp11251125、ibm1125、cp866u、ruscii乌克兰语
cp1140ibm1140西欧
cp1250windows-1250中欧和东欧
cp1251windows-1251保加利亚语、白俄罗斯语、马其顿语、俄语,塞尔维亚语
cp1252windows-1252西欧
cp1253windows-1253希腊语
cp1254windows-1254土耳其语
cp1255windows-1255希伯来语
cp1256windows-1256阿拉伯语
cp1257windows-1257波罗的海语言
cp1258windows-1258越南语
cp65001仅支持Windows:Windows UTF-8 (CP_UTF8)
euc_jpeucjp、ujis、u-jis日语
euc_jis_2004jisx0213、eucjis2004日语
euc_jisx0213eucjisx0213日语
euc_kreuckr、korean、ksc5601、ks_c-5601、ks_c-5601-1987、ksx1001、ks_x-1001韩语
gb2312chinese、csiso58gb231280、euc-cn、euccn、eucgb2312-cn、gb2312-1980、gb2312-80、iso-ir-58简体中文
gbk936、cp936、ms936统一汉语
gb18030gb18030-2000统一汉语
hzhzgb、hz-gb、hz-gb-2312简体中文
iso2022_jpcsiso2022jp、iso2022jp、iso-2022-jp日语
iso2022_jp_1iso2022jp-1、iso-2022-jp-1日语
iso2022_jp_2iso2022jp-2、iso-2022-jp-2日语、韩语、简体中文、西欧、希腊语
iso2022_jp_2004iso2022jp-2004、iso-2022-jp-2004日语
iso2022_jp_3iso2022jp-3、iso-2022-jp-3日语
iso2022_jp_extiso2022jp-ext、iso-2022-jp-ext日语
iso2022_krcsiso2022kr、iso2022kr、iso-2022-kr韩语
latin_1iso-8859-1、iso8859-1、8859、cp819、latin、latin1、L1西欧
iso8859_2iso-8859-2、latin2、L2中欧和东欧
iso8859_3iso-8859-3、latin3、L3世界语、马耳他语
iso8859_4iso-8859-4、latin4、L4波罗的海语言
iso8859_5iso-8859-5、cyrillic保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语
iso8859_6iso-8859-6、arabic阿拉伯语
iso8859_7iso-8859-7、greek、greek8希腊语
iso8859_8iso-8859-8、hebrew希伯来语
iso8859_9iso-8859-9、latin5、L5土耳其语
iso8859_10iso-8859-10、latin6、L6北欧语言
iso8859_11iso-8859-11、thai泰语
iso8859_13iso-8859-13、latin7、L7波罗的海语言
iso8859_14iso-8859-14、latin8、L8凯尔特语
iso8859_15iso-8859-15、latin9、L9西欧
iso8859_16iso-8859-16、latin10、L10东南欧
johabcp1361、ms1361韩语
koi8_r俄语
koi8_t塔吉克
koi8_u乌克兰语
kz1048kz_1048、strk1048_2002、rk1048哈萨克语
mac_cyrillicmaccyrillic保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语
mac_greekmacgreek希腊语
mac_icelandmaciceland冰岛语
mac_latin2maclatin2、maccentraleurope中欧和东欧
mac_romanmacroman、macintosh西欧
mac_turkishmacturkish土耳其语
ptcp154csptcp154、pt154、cp154、cyrillic-asian哈萨克语
shift_jiscsshiftjis、shiftjis、sjis、s_jis日语
shift_jis_2004shiftjis2004、sjis_2004、sjis2004日语
shift_jisx0213shiftjisx0213、sjisx0213、s_jisx0213日语
utf_32U32、utf32所有语言
utf_32_beUTF-32BE所有语言
utf_32_leUTF-32LE所有语言
utf_16U16、utf16所有语言
utf_16_beUTF-16BE所有语言
utf_16_leUTF-16LE所有语言
utf_7U7、unicode-1-1-utf-7所有语言
utf_8U8、UTF、utf8所有语言
utf_8_sig所有语言

MS950是繁体字编码格式

public static void isSimpleOrComplex(String txt) {
    for (int i = 0; i < txt.length(); i++) {
        try {
            Charset charset = Charset.forName("MS950");
            ByteBuffer byteBuffer = charset.encode(String.valueOf(txt.charAt(i)));
            byte[] bytes = byteBuffer.array();
            String bytesStr = bytes2HexString(bytes);
            if (bytesStr.compareTo("B0 A1") >= 0 && bytesStr.compareTo("F7 FE") <= 0) {
                Log.e("TAG", "(" + txt + ")" + "包含繁体字");
                return;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    Log.e("TAG", "(" + txt + ")" + "不包含繁体字");
}

public static String bytes2HexString(byte[] b) {
	StringBuilder r = new StringBuilder();
	for (byte value : b) {
		String hex = Integer.toHexString(value & 0xFF);
		if (hex.length() == 1) {
			hex = '0' + hex;
		}
		r.append(hex.toUpperCase()).append(" ");
	}
	return r.toString();
}
isSimpleOrComplex("专业開發者社区");
isSimpleOrComplex("专业开发者社区");

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会写代码的猴子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值