• ベストアンサー

文字コード(たぶんユニコード)

「あ」は 12354 でもあって %u3042 でもあると思っています。 12354 と %u3042 の相互変換はどういう計算で求まるんですか? それとも、12354 と %u3042 は別々に定義されたもので、計算による相互変換などないのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

3042を16進数としてみれば、 3×(16^3) + 0×(16^2) + 4×(16) + 2 = 12354 となります。

iufansu
質問者

お礼

1桁ずつだったとは気がつきませんでした。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • do_re_mi
  • ベストアンサー率27% (36/132)
回答No.1

ユニコードの表を使って、対応するシフトJISの文字に置き換えているだけです(コード表の本があります)。 下のサイトに、文字コードを変換させるソフトがあるようです。  

参考URL:
http://member.nifty.ne.jp/Nowral/31_Unicode/31_Unicode.html
iufansu
質問者

お礼

回答ありがとうございます。 簡単な計算式が知りたいだけなんです。 12354 = f(3042) 関数f()のアルゴリズムが知りたいだけなんです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ユニコード文字の変換について

    文字列が書かれたテキストファイルを読み込み、ユニコード部分だけを変換して画面に表示するプログラムを作りたいと思っています。 つまり、 \u305d\u306eaiueo と書かれたテキストファイルがあれば そのaiueo(←『\u305d』は『そ』、『\u306e』は『の』なので) と表示するプログラムを作りたいのですが、fgetsで読み込みprintfで表示するだけではそのまま「\u305d\u306eaiueo」となってしまい困っています。 \を文字(\\)として読み込んでるからだろうとは思うのですが… また、 char a[]="\u305d\u306eaiueo"; と定義した文字列を printf("%s",a); とすると「そのaiueo」と表示されますが、何故こちらは表示されて、前述の方法では表示されないのかも理解できていません。 どのような考え方、方法であれば解決するのでしょうか?

  • UNICODEへの文字コード変換

    以下のようにして、 日本語で書かれたファイルを読み込んで、 UNICODEに変換したいのですが、 できません。。。 どこが間違っているのでしょうか?(;;) 元の日本語ファイル「こんにちは」 >>できたファイル「\u3053\u3093\u306b\u3061\u306f」 という風にしたいのですが。。 //FileIOSteramの作成 FileInputStream fis = new FileInputStream(iFile); FileOutputStream fos = new FileOutputStream(oFile); //Stream ラップ InputStreamReader in = new InputStreamReader(fis, "EUC-JP-LINUX"); OutputStreamWriter out = new OutputStreamWriter(fos, "UTF16"); System.out.println(System.getProperty("file.encoding")); //読み込みと書き込み int c; InputStreamReader in = new InputStreamReader(fis, "Unicode"); Writer out = new Writer(fos); while((c = in.read()) != -1){ out.write(c); }

  • Unicode

    先日は文字コードについて色々助言してくださりありがとうございました。 おかげさまでJIS,EUC,SJISの変換はできましたが、 Unicodeについて詰まっているところがあります。 SJIS→UnicodeはSJISにあったU+XXXXに変換し、 それを1~4バイトにさらに変換して文字表記されることで出来ます。 後者の1~4バイトにさらに変換するやり方は出来ているのですが、 前者のSJISにあったU+XXXXに変換するところで詰まっています。 ##SJIS Unicode Name Note 0x00 U+0000 # <control> 0x01 U+0001 # <control> 0x02 U+0002 # <control> 0x03 U+0003 # <control> 0x04 U+0004 # <control> 0x05 U+0005 # <control> 0x06 U+0006 # <control> 0x07 U+0007 # <control> : : こういった変換表(テキストファイル)があるのですが、 どのようにしたらこのファイルをプログラム上で操作? できるのでしょうか? 例)SJISで0x07→U+0007→1~4バイト変換の 0x07→U+0007部分についてです。 また、逆に変換する際の0x07←U+0007についても わからないでいます。 何かヒントをください。

  • 文字コードを相互変換するには?(JIS,SJIS,EUC,UTF-8,UTF-16,Unicode)

    現在、文字コード一覧を JavaScript を使って動的にリストを作成する事を行っています。 そこで質問します。 『JavaScript』では文字コードの相互変換する方法はありますか? ある場合は関数、メソッドとその使い方を簡単でいいので教えて下さい。 もし標準では出来ない場合は、どのようにすれば相互変換できるのかその方法を教えて下さい。 ●相互変換コード シフトJISコード←→JISコード シフトJISコード←→EUCコード シフトJISコード←→UTF-8 シフトJISコード←→UTF-16 シフトJISコード←→Unicode 最終的に上記の相互変換を考えています。 変換を繰り返すことで実現できると思っています。 以上。相互変換の方法をお願いします。→JavaScript 歴1.5ヵ月です。

  • Meや98や95を使っているので文字コード

    をシフトジスしか使えなくて苦労してますが EUC,シフトジス,UTF-8相互の変換ができる フリーソフトを教えてください 変換専用のものと Editor機能がついているものを教えてください

  • 文字列のunicodeへの変換方法

    utf8で記述したperlスクリプトを書いてます。 諸般の事情より use utf8; は宣言できません。 そんな状況で $test = 'テスト'; という文字列を '%u30c6%u40b9%u30c8' に変換したいのですが 方法が見つかりません。 unpackやsprintfを使ってあげるのかと思うのですが 思うような値が得られません。 わかる方、いらっしゃると思います。 教えていただけませんか。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ユニコードへの変換について

    JavaScript で %82%A0 ・・・といったデコードされた 文字列から、ユニコード %u3042・・・ へ変換する 方法を教えてください。なにとぞお願いします。

  • HTMLユニコード(数値文字参照)の復元

    10進HTMLユニコードを基のunicodeに変換したいのですが、どなたか、ご存知ないでしょうか。 こちらの環境はWindowxXp Borland C++ Builder6です。 今、「【」から12301を16進化して3010とし、これに無理やり、「\u」と「3010」を結合させてみたのですが、出力表示はu3010と失敗でした。 うまく行けば、「【」となるはずでしたが・・・・・・。 Web検索したところ、APIなどの変換のための関数が見つからないで自作したいと思っています。 宜しくお願いします。

  • 文字コード変換

    JavaでDBから取ってきた、全角ハイフン「-」(Unicode\u2212)を出力すると、認識できず、「?」となってしまいます。うまく変換する方法を教えてください

  • UTF8からUnicode(コードポイント)へ変換

    UTF-8の文字コードをUnicode(コードポイント)へ変換させたいのですが、参考URLの情報のように計算式を知りたいです 。 例えば下の「あ」は、16進では「E38182」、10進では「14909826」ですが、どちらかの値を利用してUnicodeのポイントコード「12354」を計算式を用いて求めたいです。 「あ」 Unicode = 12354 16進 = E38182 10進 = 14909826 参考 http://questionbox.jp.msn.com/qa500194.html