使用D2009 +进行OEM到ansi的转换

Mar*_*ort 2 delphi

对于Unicode版专家:

是否可以定义反映当前OEM编码的ansistring类型?

(假设没有代码页标识符的ansistring反映了ansi代码页)

这是半个笑话问题,有一半是严重的:

它会将CRT单元的端口大大简化为Unicode(使其更好并键入)

Rob*_*edy 7

看起来你应该能够CP_OEMCP像使用CP_ACPAnsi代码页一样使用它.

type
  OemString = type AnsiString(CP_OEMCP);
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,则将变量声明为RawByteString.用它需要的数据填充它,一旦你发现当前的OEM代码页是什么(用GetOEMCP),用于SetCodePage将该代码页分配给字符串(此时它不再完全是一个RawByteString,尽管它已声明类型).