-1
我使用C#Marshal.PtrToStringUni(IntPtr)从Sql Server读取数据 它返回拉丁字符,但没有正确地给出Unicode字符。对于Unicode字符,我看到一些垃圾 我错过了一些转换?C#Marshal.PtrToStringUni不返回Unicode值
我使用C#Marshal.PtrToStringUni(IntPtr)从Sql Server读取数据 它返回拉丁字符,但没有正确地给出Unicode字符。对于Unicode字符,我看到一些垃圾 我错过了一些转换?C#Marshal.PtrToStringUni不返回Unicode值
ANSI编码不是Unicode。改用PtrToStringUni方法。
您是不是指'PtrToStringAnsi'而不是?拉丁语编码的字符串是8位,Unicode字符串是16位。 'PtrToStringAnsi'需要8位输入,'PtrToStringUni'需要16位输入。如果数据以8位的形式返回,那么'PtrToStringAnsi'会更合适。 –
请更新您的帖子以纳入您的代码 –