dll的说明中有下列程序
int ReadCardInfo(int ComPort, unsigned char *CardNum,unsigned char *CardNum1,unsigned char *CardID,int &CardType,unsigned char *ExpireDay)
入口参数:
出口参数:
CardNum:卡显示卡号(10字节,ASCII码)
CardNum1:交易卡号(7字节,ASCII码)
CardID:卡序列号(4字节,HEX)
cardType:卡类
ExpireDay:卡有效期(3字节,Hex年月日)
我在c#中,这样应用。
[DllImport("SmartCom411SFJ.dll", CharSet = CharSet.Auto)]
public static extern int ReadCardInfo(int ComPort, StringBuilder CardNum, StringBuilder CardNum1, StringBuilder CardID, ref int CardType, StringBuilder ExpireDay);
将cardnum的返回值放到了一个stringbuilder类型中,但是由于其中是ASCII码,所以我使用
string scardn = CardNum.ToString();
语句后,scardn则变成了乱码!
我应该怎么样才能得到这些ascii表示的字符串呢?望高手教我!或者是因为我使用的参数类型不对?
int ReadCardInfo(int ComPort, unsigned char *CardNum,unsigned char *CardNum1,unsigned char *CardID,int &CardType,unsigned char *ExpireDay)
入口参数:
出口参数:
CardNum:卡显示卡号(10字节,ASCII码)
CardNum1:交易卡号(7字节,ASCII码)
CardID:卡序列号(4字节,HEX)
cardType:卡类
ExpireDay:卡有效期(3字节,Hex年月日)
我在c#中,这样应用。
[DllImport("SmartCom411SFJ.dll", CharSet = CharSet.Auto)]
public static extern int ReadCardInfo(int ComPort, StringBuilder CardNum, StringBuilder CardNum1, StringBuilder CardID, ref int CardType, StringBuilder ExpireDay);
将cardnum的返回值放到了一个stringbuilder类型中,但是由于其中是ASCII码,所以我使用
string scardn = CardNum.ToString();
语句后,scardn则变成了乱码!
我应该怎么样才能得到这些ascii表示的字符串呢?望高手教我!或者是因为我使用的参数类型不对?
解决方案 »
- 请教webbrowser操作网页页面的问题
- |zyciis| 拦截了键盘的"win"键的KeyUp,但却发现他一直就Down在那里了,怎么办呢,有源码
- 求一方法C#
- 关于System.Text.Encoding.Default.GetBytes的问题
- 如何获取DataRow 的行数?
- Visio自动生成c#程序问题
- 窗体间传值,并传回赋值问题?
- 用c#winform如何实现音乐格式文件的转换
- C# 如何设置权限
- sql2000里的 SET NOCOUNT ON 是什么意思呢:)
- 当我运行.cs生成的.exe时按回车键DOS就关闭了
- 动态定义ArrayList问题以及取得多个ArrayList中公共元素
试试.
将之改正后就好了。
再次谢谢大家。