• ベストアンサー

C言語で16進数の文字コードを文字列に変換

16進の文字コードを入力してそれに対応する文字列を出力したいのですが 文字列から16進コードに変換出来ても16進コードから文字列に変換することが出来ません。 参考になるコードかサイト、または何かヒントがございましたらよろしくお願い致します。

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

・やりたい事は例示付きで示しましょう(入力に対する出力の期待がどうなっているのか) ・やりたい事だけでなく、やった事も書きましょう(実際にどんなコードを書いた、など) 今の質問内容だけでは答えようがありません。 が、普通に考えれば可逆変換の片方向が本当に出来ているのなら反対方向はその逆手順を踏むだけのはずです。

kariechan
質問者

お礼

ありがとうございました。 頑張ってやってみようと思います。

関連するQ&A

  • C言語の文字列について教えてください。

    2つの文字列を入力後、それらを比較して、前者の文字列の中から後者の文字列に該当する箇所を削除するコードはどうなるのでしょうか? たとえば、前者の文字列が"abacbat"で、後者の文字列が"bac"だった場合、前者の"bac"の部分が削除されて、"abat"と出力されるようにしたいのです。

  • 文字を変換したい

    こんにちは。 文字列を変換したいのですが、私はコードについて詳しく知らないため、どなたかご存知の方がおられましたら、ご教授をお願いいたします。 質問1: 文字列の変換例を以下に書きます。文字列を左から右へ変換する方法を教えてください。 41→A 42→B 43→C : Unicodeと文字列に対応していると思います。 質問2: 質問1のやり方を色々と調べて見たのですが、以下のサイトを参考にし、'41'という文字列を渡してみたのですが、'A'と出力してほしいのに、'41'がそのまま表示されてしまいました。http://blogs.sqlpassj.org/akiraonishi/articles/4229.aspx Unicodeの認識がないせいか、この辺りの仕組みがよく分かりません。 上記サイトでやろうとしていることと、質問1でやろうとしていることは違うのでしょうか。 以上につきまして、心当たりのある方はお願いいたします。

  • c言語プログラミングHELP!

    c言語でプログラムを組んでるんですが、どうしてもわからないものがありまして、 まず一つ目がキーボードから英小文字を一つ入力し、その文字を大文字に変換して出力するプログラミングです。結果がまずひとつの英小文字を入力して、入力した文字と、大文字に変換した文字を出力するプログラミングです。 ちなみにヒントは'a'=97,'A'=65です 二つ目が二桁の16進数('41'から'49','50'から'59')を入力すると対応する文字を表示するプログラミングです。また、%xは使用しないこと。なお、入力に間違いはないものとする。(ヒントは入力は一つの数値か、二つの文字か?だそうです。) 結果は二桁の16進数('41'から'49','50'から'59')を入力して、文字コードの二桁の数字と文字を出力するプログラミングです。 お願いします。

  • 文字列の変換について

    Tyouhyou → 帳票 Printer → プリンター と文字列を変換するにはどうしたら良いですか? 何か良いツールがあれば教えて下さい。 変換アルゴリズムのヒントでも良いので教えて下さい。 よろしくお願い致します。

  • C言語で16進数のunicodeを文字に変換したい

    C言語初学です。よろしくお願いします。 16進表記のunicodeの文字列データ(もともとは漢字のデータ)があり、 それをもとの文字列として出力したいのですが、 C言語でどういうプログラムを書けば良いのか分からず困っています。 ============================================ 例えば、「0x6F22」というデータがあった場合、 それを文字列に変換して「漢」という字を出力したいのです。 (http://ja.wiktionary.org/wiki/漢) ============================================ C99やC++、PHP、Rubyなどでは、 ユニバーサルキャラクタ(?)というのを使って 一発で変換できるようなのですが、 今回は学習目的というのもあって、 なんとかC言語でできないかと思っています。 おおまかな話でも良いので、 なにか取っ掛かりになる情報のご教示お願い致します。

  • 文字コードの変換

    現在PHPの学習を行っているのですが、文字コードの変換方法が分かりません。 入力した文字列と、保存してあるテキストの中の文字列を比較するプログラムを作ったのですが、 英語は比較できるのですが、日本語は比較できません。 私たちが考えている問題としては、入力した文字がSJISなので、EUCで作ったプログラム内で動作しません。 どうしたら、入力した文字をEUCに変換することができるのか教えていただくことはできないでしょうか?

  • Javaの文字コード変換方法

    文字コードの変換で困っています。 例えば、標準入力で「あいう」と入力して、その文字列を UTF-8に変換して出力したいのですが、うまくいきません。 サイトにはbyteに変換してから入れると書いていましたが、 よくわかりませんでした。 宜しくお願いします。 以下、今できているソースです。 (ソースコード) import java.io.*; public class ChangeCord { public static void main( String[] args ) { try { System.out.println("何か日本語を入力してください。"); BufferedReader br = new BufferedReader( new InputStreamReader(System.in, "UTF-8")); String str = br.readLine(); System.out.println("文字コードUTF-8に変換した結果"); System.out.println(str); }catch (Exception e) { System.out.println("エラー"); } } } (出力結果) 何か日本語を入力してください。 あいう 文字コードUTF-8に変換した結果 ?????? 以上です。

    • ベストアンサー
    • Java
  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • サロゲートペアの文字コード→文字変換

    サロゲートペアの文字コード→文字変換 Windows上でRubyを使って文字コードの書かれたファイルを読み込んで文字を出力しようとしています。 サロゲートペアの文字コードを文字に変換するにはどうしたらいいでしょうか? たとえば上位サロゲートがa、下位サロゲートがbであるとき、JavaScriptでは次のようにすれば文字が得られるようです。 var s; s = String.fromCharCode(a,b); alert(s); (参考:http://codezine.jp/article/detail/1592) これをRubyでやろうとしていていろいろ調べてみたのですが、探し方が悪いのかわかりません。 どう書けばよいのか教えてください。 なお、WinsowsはXPです。ファイルに出力して正しく出力されているかどうかを確認しています。 よろしくお願いします。

    • ベストアンサー
    • Ruby
  • C言語で16進数をテキスト出力したい。

    お世話になります。 件名の内容で、参考になるサイトや手法などをご教授願います。 【件名】C言語で16進数をテキスト出力したい。 【環境】OS:WindowsXPsp2 コンパイラ:borlandC 【詳細】 現在、C言語で以下の手順で処理を行うプログラムを作成しております。 手順1:ASCIIコードで記載されたテキストをUTF8コードに変換 手順2:UTF8に変換された1行目の文字列を16進数コードフォーマットをファイル名にして保存 手順2の16進コードフォーマットのファイル名にして保存する作業で fprintf(buff,"%x",UF8); //"buff"保存ファイル名、"UTF8"1行目文字列 を用いて行えるかと思ったのですが、どうやら直接16進数の名称を吐き出すことが不可能なようで、どのように行ったらいいか皆目検討がついておりません。 そこで大変恐縮ですが、参考になる手法や、情報がありますサイト等をお教え頂けると幸甚です。 よろしくお願いいたします。