LogFactory.getLog(StringUtil.class);
// 国标码和区位码转换常量
static final int GB_SP_DIFF = 160;
//存放国标一级汉字不同读音的起始区位码...'f', 'g', 'h', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
't', 'w', 'x', 'y', 'z'};
//获取一个字符串的拼音码...(temp);
} else {
buffer.append(convert(uniCode));
}
}
return buffer.toString();
}
/** 获取一个汉字的拼音首字母...* GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码
* 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43
* 0x24转成10进制就是36...原因:androd默认的字符集是Unicode编码而你的方法处理的是GBK,所以未识别。