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; //客户不使用该字段
            }


  • 相关阅读:
    Fidder
    常见正则表达式使用
    HTML5 Boilerplate
    微信公众号开发--微信机器人
    sublime text插件推荐
    个人博客开发-笔记
    css之图像替换
    关于浮动与清除浮动
    css定位机制
    Java 集合类实现原理
  • 原文地址:https://www.cnblogs.com/baishahe/p/1689860.html
Copyright © 2011-2022 走看看