漢字1文字の文字コードを取得するには?

解決


桜坂  2009-03-08 04:08:28  No: 33593

いつもご指導頂きありがとうございます。
タイトルからすると、馬鹿げた質問と笑われるかも知れませんが検索しても判らず恥を忍んで質問させて頂きます。
例えば、「今」という漢字の文字コードは、JIS=3A23  、シフトJIS=8DA1  、  区点=02603  、  ユニコード=4ECA  です。
ここで、入力した漢字の各種文字コードを表示するプログラムを作りたいと考えましたが、どの様にすればよいのかも解りません。
EDIT1に漢字1文字を入力します。
ボタン1を押すとEDIT2にJISコードが表示されることを想定しています。
同様にボタン2を押すとEDIT2にシフトJISコードが表示され、ボタン3を押すと区点コードが、ボタン4を押すとユニコードが表示されることを想像しています。
ご指導よろしくお願いします。


桜坂  2009-03-08 05:15:46  No: 33594

すみません。あわてて環境を書くのを忘れてしまいました。
開発環境は、Delphi7のエンタープライズです。
PCは、Windows2000です。
よろしくお願いします。


D  2009-03-08 17:51:41  No: 33595

シフトJISとユニコードだけ(でもシフトJISは自信なし)

procedure TForm1.Button2Click(Sender: TObject);
var
  S: String;
begin
  S := WideString(Edit1.Text)[1];
  if (Length(S) = 2) then begin
    Edit2.Text := Format('%.2x%.2x', [Ord(S[1]), Ord(S[2])]);
  end else begin
    Edit2.Text := Format('%.4x', [Ord(S[1])]);
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Edit2.Text := Format('%.4x', [Ord(WideString(Edit1.Text)[1])]);
end;

あとは↓にシフトJIS、JIS、区点の変換関数がありました。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00286.htm


桜坂  2009-03-08 19:11:24  No: 33596

Dさん、ありがとうございます。
私の抱えていた問題が解決しました。
私の目的は、ユニコードが解ると外字作成の時の参考にする漢字のコードが解り、それを探すためのプログラムです。
仕事で、外字を作ることが最近多くなり、苦労しましたので「参考にする漢字コードを表示できればいいのに・・・」と思いましたが、・・・技量不足のため頓挫していました。
本当に助かりました。重ねてお礼申し上げます。ありがとうございます。
今後ともご指導、よろしくお願い申し上げます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加