3
2009年以前のDelphi(ANSIランド)では、文字をバイトに変換する場合はOrd
とChr
を使用できます。逆の場合も同様です。あなたがバイトとして文字を動作させるために必要な場合には、たとえば、良かった:UnicodeCharとIntegerの間にキャストを入力するのは安全ですか?
var
ch: char;
begin
ch:= chr(ord(ch1) xor ord(ch2));
end;
、新しいデルフィスの文字にはもはやバイトではなく、2。タイプキャスティングは安全ですか:
var
ch: char;
begin
ch:= Char(integer(ch1) xor integer(ch2));
end;
同じ結果を得るには?キリル文字やアラビア文字を使用していても、これまでに行ったテストはうまく動作しますが、わからないことがあります。
ありがとうございました。私は尋ねました。(少なくともDelphi 2010では)マウスでchrを強調表示すると、ツールチップが表示されます:System.AnsiCharが返され、引数を入力するときにツールチップにバイトが必要と表示されます)。しかし、あなたは正しいです、それはバイトより高い値を食べるように見え、正しい文字を出します。 – Lobuno
Integer型はCharとWideCharでは 'Word'ですが、AnsiCharでは' Byte'ですか? –
@JensMühlenhoffはい、それは私の信念です。ドキュメンテーションが追いついたらとてもいいですね。 –