Haruyuki Mohri Blog(Delphi)

毛利春幸のブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Delphi7で Unicode(LE)UTF16リトルエンディアン

Delphi7で UTF-16のリトルエンディアンでTEXT吐き出しする場合
こんな感じにしてみた
WideStringはUnicodeそのままみたい
しょっぱなでBOMとよばれるコード($FEFF)を入れる事でUnicode(LE)のテキストって判断するらしい

procedure TForm1.Button1Click(Sender: TObject);
var
  fh:      Integer;
  stTemp:   WideString;
  wTemp:  Word;
  i:        Integer;
begin
  stTemp := Edit1.Text +#13#10;
  if FileExists('test.txt') then
  begin
    fh := FileOpen('test.txt', fmOpenWrite);
    FileSeek(fh, 0, 2);//最後のポインタに移動するおまじない
  end
  else
  begin

    fh := FileCreate('test.txt');
    wTemp := $FEFF; //BOM(Byte Order Mark)
    FileWrite(fh, wTemp, 2);
  end;
  for i := 0 to Length(stTemp)-1 do
  begin
    wTemp := Word(stTemp[i + 1]);
    FileWrite(fh, wTemp, 2);
  end;
  FileClose(fh);

end;



この方法以外に あればコメいただければ非常にうれしいです
スポンサーサイト

テーマ:ソフトウェア - ジャンル:コンピュータ

  1. 2008/04/17(木) 20:23:04|
  2. Delphi
  3. | トラックバック:0

トラックバック

トラックバック URL
http://mojeld.blog41.fc2.com/tb.php/33-fc5f0eeb
この記事にトラックバックする(FC2ブログユーザー)

Profile

Twitter...

最近の記事

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。