我的文件夹名称包含德语特殊字符,例如äÄéöÖüß。以下屏幕截图显示了LiveLink服务器的内容。
我想使用C#从Livelink服务器中提取文件夹。
valueis从LLserver获得。
var bytes = new List<byte>(value.Length);
foreach (var c in value)
{
bytes.Add((byte)c);
}
var result = Encoding.UTF8.GetString(bytes.ToArray());
最后,结果是äÄéöÖü x。其中ß被视为方框字符' x'。除ß字符外,文件夹名称中出现的所有其他字符均已成功/正确解码。
我只是想知道为什么相同的代码适用于所有其他德国特殊字符但不适用于ß。
有人可以帮忙解决C#中的这个问题吗?
提前致谢。
答案 0 :(得分:1)
转到服务器Livelink / livelink.exe的管理面板?func = admin.sysvars 并设置字符集:UTF-8
和代码部分更改如下
byte[] bytes = Encoding.Default.GetBytes(value);
var retValue = Encoding.UTF8.GetString(bytes);
工作正常。
答案 1 :(得分:0)
您猜测您的编码是UTF8,但显然不是。您需要找出字节流实际代表的编码并使用它。我们无法帮助您,您将不得不询问所述字节的发件人。