好久没有更新了,现在让我们接着之前介绍的
P/Invoke
继续更加深入的话题。通过“
在C#中使用P/Invoke调用Unmanaged Code (1)/(2)
”的介绍,相信各位已经对
P/Invoke
有了一个大致的了解。这次,我会介绍一下在
P/Invoke
中处理字符串。
说到字符串,首先先要说的是其编码方式。在这里主要的几种编码方式是
ANSI
、
Unicode
、
UTF-8
。大家可以在
NotePad
的
Save As
对话框中看到对应的选项。其中
ANSI
是最古老的编码方式,美国信息互换标准代码。大家熟知的
GB2312
就是该编码方式在中文操作系统上的一种扩展。其用
1
个字节表示一个英文字符,
2
个字节表示一个汉字;
Unicode
是
ISO
组织标准化了的编码方式,从
Windows NT
之后的
Windows
操作系统其核心代码采用了该种编码。当然
.Net Framework
也是基于
Unicode
的。其所有字符统统用
2
个字节表示;
UTF-8
本质上讲,是一种网络传输的标准。对于一个字符用
1~3
个不等的字节表示。一下我给出字符串“
AB
汉字”的三种不同的编码,给各位一个直观的印象。
ANSI
|
41 42
|