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


  • 相关阅读:
    Resample the mask
    高斯消元法
    java中的大数BigInteger
    JAVA中如何使用SORT从大到小排
    Java中Array.sort()的几种用法简明教程 (需要初始化要排序的对象)
    java中两个字符串如何比较大小
    java数组初始化函数
    BestCoder Round #89 Fxx and string
    Flooded!
    基础练习 数列排序
  • 原文地址:https://www.cnblogs.com/baishahe/p/1689860.html
Copyright © 2011-2022 走看看