首页 新闻 会员 周边

C# 注册表 读取 乱码

0
[已解决问题] 解决于 2015-03-23 16:32

 

我用C#  找到注册表位置后 GetValue()获取值为什么有乱码?

metoer的主页 metoer | 初学一级 | 园豆:8
提问于:2015-01-24 16:27
< >
分享
最佳答案
0

试试下面的代码:

Encoding.Unicode.GetString((byte[])regKey.GetValue ("key"));

如果不行,换成UTF8试试

奖励园豆:5
dudu | 高人七级 |园豆:30979 | 2015-01-24 17:03

不行,报错

(具有“string”的实际类型)强制转换为“byte[]”

metoer | 园豆:8 (初学一级) | 2015-01-24 17:09

@metoer: ToString()去掉了吗?

dudu | 园豆:30979 (高人七级) | 2015-01-24 17:13

@dudu: 去掉了

metoer | 园豆:8 (初学一级) | 2015-01-24 17:13

@metoer: Encoding.Unicode.GetString((byte[])key2.GetValue(displayName))

说明里面还是string

metoer | 园豆:8 (初学一级) | 2015-01-24 17:14

@dudu: 我发现了,其实不是注册表后面的乱码问题,而是C++字符串后面带了个 \0结尾,但是不知道怎么去掉

metoer | 园豆:8 (初学一级) | 2015-01-26 10:41

@metoer: 试试 Trim('\0') 

dudu | 园豆:30979 (高人七级) | 2015-01-26 10:56
其他回答(1)
0

换一种编码。

Firen | 园豆:5385 (大侠五级) | 2015-01-25 08:27

那里换?

支持(0) 反对(0) metoer | 园豆:8 (初学一级) | 2015-01-26 09:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册