点击或拖拽改变大小

Functions.Ansi2OemBuff 方法

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

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

参数

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

返回值

类型:Byte
指向包含转换后字符串的缓冲区的指针。
备注
Ansi2OemBuff() 类似于 Ansi2Oem(),但结果字符串存储在 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。
示例
此示例使用 Ansi2OemBuff() 将 ANSI 字符串 "ßä" 的内容转换为 OEM 字符集。注意,源字符串也用作目标字符串:
X#
1LOCAL cStr := "ßä"
2Ansi2OemBuff(PSZ(_CAST, cStr), PSZ(_CAST, cStr), SLen(cStr))
参见