6

Delphi関数を使用しています

StringCodePage

COM関数(Acrobat Annotation getContents-他の投稿を参照)によって返される文字列で呼び出し、0を返します。

0とは何ですか?アンシ?

4

2 に答える 2

9

コード ページ 0 は CP_ACP、現在の Windows ANSI コード ページです。

Windows.pas から:

{$EXTERNALSYM CP_ACP}
CP_ACP                   = 0;             { default to ANSI code page }

MSDNから:

CP_ACP

現在のシステム Windows ANSI コード ページ。この値は、同じネットワーク上であっても、コンピューターによって異なる場合があります。同じコンピューター上で変更される可能性があり、保存されたデータが回復不可能なほど破損する可能性があります。この値は一時的な使用のみを目的としており、可能であれば UTF-16 または UTF-8 を使用して永続的な保存を行う必要があります。

于 2009-02-09T19:48:03.417 に答える
4

StringCodePage()0 を返すことができる唯一の方法は、空白を渡してコンパイル時のコードページ アフィニティを返す場合、またはペイロードにコードページ 0 が割り当てられAnsiStringた非空白を渡す場合です。AnsiStringDelphi はWideStringCOM 文字列に使用し、 StringCodePage()plain 以外の文字列型に対して 0 を返しませんAnsiString。D2009 では、RTL は OS の実際の実行時コードページをペイロードに保存するという非常に良い仕事をしなかったAnsiStringため、通常、コンパイル時のコードページ アフィニティ 0 が含まれていました。明示的。これは後の Delphi バージョンで修正されたためAnsiString、実行時に決定される実際の OS コードページがペイロードに含まれるようになりました。

于 2012-07-06T15:46:58.880 に答える