10000 改善了TH155Addr.cs获取字符串时对Shift_JIS编码的支持 · hxdnshx/PYHHelper@6388721 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6388721

Browse files
committed
改善了TH155Addr.cs获取字符串时对Shift_JIS编码的支持
1 parent 66f6681 commit 6388721

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

PYHHelper/TH155Addr.cs

Lines changed: 10 additions & 4 deletions
E8C6
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class TH155Addr
2828
[DllImport("TH155Addr.dll", EntryPoint = "TH155AddrGetState")]
2929
public static extern int TH155AddrGetState();
3030
[DllImport("TH155Addr.dll", EntryPoint = "TH155GetRTChildStr")]
31-
public static extern int TH155GetRTChildStr(string param, [Out, MarshalAs(UnmanagedType.LPStr)]StringBuilder result);
31+
public static extern int TH155GetRTChildStr(string param, byte[] buffer);//[Out, MarshalAs(UnmanagedType.LPStr)]
3232

3333
[DllImport("TH155Addr.dll", EntryPoint = "TH155EnumRTCHild")]
3434
public static extern int TH155EnumRTCHild();
@@ -56,9 +56,15 @@ class TH155Addr
5656

5757
public static string TH155GetRTChildStr(string param)
5858
{
59-
StringBuilder result = new StringBuilder(256);
60-
TH155GetRTChildStr(param, result);
61-
return result.ToString();
59+
byte[] buffer = new byte[256];
60+
TH155GetRTChildStr(param, buffer);
61+
int i;
62+
for (i = 0; i < 256; i++)
63+
{
64+
if (buffer[i] == '\0')
65+
break;
66+
}
67+
return Encoding.GetEncoding("Shift_JIS").GetString(buffer.Take(i).ToArray());
6268
}
6369

6470
}

0 commit comments

Comments
 (0)
0