我有以下字符串,我知道它应该显示为日文文本
25“ú‚¨“¾‚ȃAƒ‹ƒeƒBƒƒbƒgƒRƒXƒZƒbƒg‹L”O
有没有办法解码和重新编码文本,以便正确显示?我已经尝试过使用shift-jis,但它没有产生可读的字符串。
string main = "25“ú‚¨“¾‚ȃAƒ‹ƒeƒBƒƒbƒgƒRƒXƒZƒbƒg‹L”O.zip";
byte[] mainBytes = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(main);
string jpn = System.Text.Encoding.GetEncoding("shift-jis").GetString(mainBytes);
谢谢!
答案 0 :(得分:2)
我认为原版是Shift-JIS,但你没有说明你是如何尝试的。所以这是我尝试重新编码::
string s1 = "25“ú‚¨“¾‚ȃAƒ‹ƒeƒBƒƒbƒgƒRƒXƒZƒbƒg‹L”O";
byte[] bs = Encoding.GetEncoding(1252).GetBytes(s1);
string s2 = Encoding.GetEncoding(932).GetString(bs);
s2
现在是"25日お得なアルティャbトコスセット記念"
,看起来更像日本人。
我假设某些表示文本Shift-JIS编码的字节数组,使用不同编码读取的内容,可能是Windows-1252。所以首先我尝试取回原始的字节数组。然后我使用正确的编码来获得正确的文本。
关于我的代码的一些注释: