身份证姓名信息显示的问题

2019-03-26 12:22发布

我在用安卓搞读取身份证信息并显示的工作,身份证信息已经读出来了,
可是姓名显示不对。
比如数据如下:6C 9A D7 5F DC 8F 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
30个字节。请问大神,如何把这30个字节转化为汉字呢?谢谢!
此帖出自Linux与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
qiushenghua
1楼-- · 2019-03-26 22:18
马志远
u9a6cu5fd7u8fdc
UTF-16编码,低字节在前,每个字符2字节编码。
chenbingjy
2楼-- · 2019-03-26 22:21
本帖最后由 chenbingjy 于 2015-10-23 10:38 编辑

多谢版主!我还是不知道应该怎么编程。
我有一个函数可以转换,如下:
String s = "u9a6cu5fd7u8fdc";
        System.out.println("Original: " + s);  
  
        s = toEncodedUnicode(s, true);  
        System.out.println("to unicode: " + s);  
  
        s = fromEncodedUnicode(s.toCharArray(), 0, s.length());  
        System.out.println("from unicode: " + s);这是在知道这个u9a6cu5fd7u8fdc的情况下可以。
可是我的数据存在变量里,我怎么把0x6c,0x9a转换成u9a6c呢?
我试图这样:
0x6c存在byte型变量a里面
String s="u"
然后s+=String.ValueOf(a)
可是String s="u"这一步就提示出错了。
我该怎么做啊?版主指教,谢谢!
duhang
3楼-- · 2019-03-27 01:16
 精彩回答 2  元偷偷看……
qiushenghua
4楼-- · 2019-03-27 01:29
chenbingjy 发表于 2015-10-23 10:29
多谢版主!我还是不知道应该怎么编程。
我有一个函数可以转换,如下:
String s = "%u9a6c%u5fd7%u8fdc"; ...

u表示无符号整数unsigned
9a 6c就是你给的第一第二字节逆序
这就已经是第一个汉字的编码了
我猜测你是应该想把这个编码对应的汉字显示出来,这个依赖操作系统和字库文件。
caojp2008
5楼-- · 2019-03-27 02:21
 精彩回答 2  元偷偷看……
chenbingjy
6楼-- · 2019-03-27 02:59
谢谢版主。我想在安卓手机上显示。可以吗?应该怎么做?

一周热门 更多>