java 使用registry-3.1.3读取注册表 字符串中文的乱码问题?不知道如何解决

wudidaoshi 2008-03-10 09:25:45
Description对应的中文是"QVOD媒体播放服务"

public boolean ReadService(String servicename) {

try {

RegistryKey software = Registry.HKEY_LOCAL_MACHINE.openSubKey(
"SYSTEM\\ControlSet001\\Services\\",
RegistryKey.ACCESS_READ);
RegistryKey subkey = software.openSubKey(servicename);
String subValue = subkey.getStringValue("Description");

}catch(Exception err){

}
System.out.println(subValue);
}

打印出的是一串不知道是什么编码的字符串
QVOD�1�5�1�9�1�4¥�1�8�1�5�1�3�1�7�1�3�1�8�1�6�1�5
问有什么方法得到他的原有字符串?
用中文在写进注册表的时候也有乱码,急!




...全文
349 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudidaoshi 2008-03-16
  • 打赏
  • 举报
回复
名称 类型 数据
Description REG_SZ QVOD媒体播放服务


QVOD媒体播放服务对应的16进制是 51 00 56 00 4F 00 44 00
92 5A 53 4F AD 64 3E 65
0D 67 A1 52 00 00



chen09 2008-03-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wudidaoshi 的回复:]
已经 写在 上面了
[/Quote]
不是要中文的那个,也不是要乱码的那个,是要注册表里面的16进制数字。
wudidaoshi 2008-03-12
  • 打赏
  • 举报
回复
已经 写在 上面了
chen09 2008-03-11
  • 打赏
  • 举报
回复
你把Description在注册表里的值贴到这里来看看。
wudidaoshi 2008-03-11
  • 打赏
  • 举报
回复
这是没有用的,试过N种了
sunboylyg 2008-03-11
  • 打赏
  • 举报
回复
进行字符转码试试看
subValue =new String(subValue .getBytes("..."),"GB2312");
wudidaoshi 2008-03-11
  • 打赏
  • 举报
回复
再顶
goodmrning 2008-03-10
  • 打赏
  • 举报
回复
帮顶

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧