zoukankan      html  css  js  c++  java
  • c# 存取结构体 二进制文件 中文乱码

    对于C#结构体包含中文和c程序交互时乱码的问题,应该在C#的结构体定义时指定字符集

    代码
     //
            
    // 摘要:
            
    //     用于在结构中出现的内联定长字符数组。与 System.Runtime.InteropServices.UnmanagedType.ByValTStr
            
    //     一起使用的字符类型由应用于包含结构的 System.Runtime.InteropServices.StructLayoutAttribute 的
            
    //     System.Runtime.InteropServices.CharSet 参数确定。
            
    //     应始终使用 System.Runtime.InteropServices.MarshalAsAttribute.SizeConst
            
    //     字段来指示数组的大小。

            [StructLayout(LayoutKind.Sequential,CharSet
    =CharSet.Unicode), Serializable]
            
    public struct MY_STRUCT
            {
                
    public double x;          //点的经度坐标
                public double y;          //点的纬度坐标
                [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
                
    public string Name;        //Name[40]; //名称

                
    public int PointID;  //点的ID号
                public int TypeCode; //客户不使用该字段
            }


  • 相关阅读:
    request
    href="#"
    可展开收起的客服导航。
    JS添加父节点的方法。
    精简漂亮的导航浮动菜单显示特效演示
    竖排导航
    仿新浪微博
    鼠标滑过改变文字
    滚动函数
    一些常用的兼容函数。
  • 原文地址:https://www.cnblogs.com/baishahe/p/1689860.html
Copyright © 2011-2022 走看看