点击或拖拽改变大小

Functions.Oem2AnsiBuff 方法

X#
将源缓冲区中的指定数量的OEM字符转换为相应的ANSI字符缓冲区。

命名空间:  XSharp.Core
程序集:  XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法
 FUNCTION Oem2AnsiBuff(
	pszTarget AS BYTE[],
	pszSource AS BYTE[],
	dwCount AS DWORD
) AS BYTE[]
查看代码

参数

pszTarget
类型:Byte
将包含转换字符串的缓冲区的指针。
pszSource
类型:Byte
包含要转换字符串的缓冲区的指针。
dwCount
类型:UInt32
要转换的字符数。

返回值

类型:Byte
指向包含转换字符串的缓冲区的指针。
备注
Oem2AnsiBuff()与Oem2Ansi相同,不同之处在于结果指针存储在由pszTarget指向的缓冲区中。
此外,dwCount参数让您指定要转换的字符数量。
提示 提示:
您负责为pszTarget指向的缓冲区分配空间。
使用未分配的缓冲区指针可能会导致不良后果。
备注
警告 警告:
Ansi2Oem() 和 Oem2Ansi() 函数系列是兼容性函数。除非你真的必须使用它们,否则不要使用。 X# 是一个 Unicode 语言,如果你使用这些函数,将进行 Unicode - Ansi - Oem - Unicode 的转换。
你还应该意识到,Ansi2Oem(Oem2Ansi(cSource)) 不总是会返回 cSource。一些字符可能 在 OEM 代码页中不可用,可能会被转换为其他字符。
例如:Windows 代码页 1252 在位置 203 上有大写 E Umlaut (Ë)。 当转换为 OEM 代码页 437 时,这将变为没有 Umlaut 的大写 E (69)。再次转换为 Ansi 将保持为没有 Umlaut 的 E。
示例
此示例从OEM转换为ANSI。请注意,源字符串也用作目标字符串:
X#
1LOCAL cStr := "ßá"
2Oem2AnsiBuff(Ptr(_CAST, cStr),;
3            Ptr(_CAST, cStr), sLen(cStr))
参见