• ベストアンサー

Shift_JIS(16進)を文字に変換する方法

 お世話になります。  現在、文字コードを文字に変換するプログラムを組んでいるのですが、Shift_JIS(16進)を文字に変換する方法が分からず困っています。  具体的には、"82a0 "という文字列を持っていて、それを「あ」という文字に変換するといった感じなのですが・・・。C言語でこれは可能なのでしょうか?可能なのだとしたらどういった手順で行えばよろしいのでしょう。  因みにC++ではなくC言語です。  よろしくお願いします。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

C言語では、文字列はcharの配列です。一つ一つに文字を表わす「数値」が入っています。 例えば、ASCIIコードを使っているなら char str[] = "ABC" ; だったら str[0] == 65 == 'A' str[1] == 66 == 'B' str[2] == 67 == 'C' です。 Shift_JIS の場合、2文字で全角1文字分です。 char kanji[] = "あ" ; なら kanji[0] == 0x82 kanji[1] == 0xa0 kanji[0]とkanji[1]を合せて 0x82a0→あ なので、 16進文字列2つ→8bit整数に変換→charの配列に代入 を16進文字列の長さだけ繰り返すことになります。

icomic
質問者

お礼

ご返信ありがとうございます! 16進数文字列をいったん16進数longに戻してから0xffを&してcharに突っ込むことで、理想通りの動きになりました!もっと楽な方法があるかもしれないので、これを手掛かりに色々試してみたいと思います! ありがとうございました!

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

その他の回答 (1)

回答No.1

C言語そのものには文字の概念が有りません。 OSやH/Wに依存する問題ですからこれらを明らかにしなければ答えは出ません。

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

関連するQ&A

  • UTF-8からShift-JISへの文字コード変換について

    文字コードがUTF-8のファイルをShift-JISに変換する方法についてご存知の方がいらっしゃれば教えていただきたいです。 仕事上で、UTF-8のファイルをしばしば受領するのですが、Shift-JISに変換しないと、その後の処理ができない作業があり、今は秀丸で開いて、文字コードを変換して保存し直してます。 私以外のメンバも今後同じ作業を実施するようになり、引継ぎ手順書を作成しているのですが、ツール等を使わないWindows標準機能を用いた手順を要求され、どうすればいいかわからなくなって質問させていただきました。 よろしくお願い致します。

  • Shift_JISからUTF-8への変換について

    いつもお世話になります。 UTF-8には4バイト文字がありますが、Shift_JIS(CP932)からUTF-8へ変換する際、 Shift_JISでは2バイトで表わされる文字が、UTF-8では4バイトで表わされてしまう文字はありますでしょうか。 宜しくお願いします。

  • 文字コードEUC→SHIFT-JISにすると動作しません

    http://cgikon.com/search/detail.php3?menu=1&cgi_id=412 上記の簡単なスクリプトを使いたいと思っています。 文字コードがEUCとなっており、そのままの状態で設置すれば動作します。 EUCではなく、SHIFT-JISにして動作させたいのですが、中に書かれている「EUC - JP」を「SHIFT - JIS」に書き換えて、またファイルの文字コードも「SHIFT-JIS」として保存しました。 またCSVデータも「SHIFT-JIS」に変換して保存。 変換したファイルをアップしてみましたが、表示される表の数値の箇所が真っ白になってしまいます。 一番上の行と一番左の列は表示されます。 足し算される数値の部分だけが表示されません。 どのようにすれば、EUCからシフトJISに変換して、動作させる事ができるのでしょうか。 アドバイスをお願い致します。

    • ベストアンサー
    • Perl
  • 文字コードshift-jisへの変換について

    お世話になります。 .NET C#にて開発をしております初心者です。 C#からテキストデータにデータの書き出しを行っており、 文字コードをUTF-8からSHIFT-JISへ変換したいのですが、 ネット等で確認し、記述したのですが、データの中には 半角カナ文字もあり、どうも変換がうまくいきません。 どなたかサンプルコードまたは、参考になるサイトなどを お教え頂きたく宜しくお願い致します。

  • 文字コードを指定する際sjisなのかshift_jisかshift-jisなのか

    お世話になります。 perl5.8において文字コードを指定or変換する際 shift_jis shift-jis Shift_JIS SJIS EUC_JP EUC-JP utf-8 utf8 -と_の違いや大文字小文字の違いなど記述の違いを良く見かけるのですが、実際決まった指定方法などはあるのでしょうか。 逆に文字コードを指定する際、●●のように指定しても無効で●●のように指定しないと有効ではないですよ。。みたいな。 またperlに限らずPHPやHTML、XMLなどではどうなっているのでしょうか どなたかご存知の方いましたら ・上記3つの文字コードについてと ・perlのバージョンの違い、言語の違いなど 文字コードの文字列の指定に関する全般についてご教授願えませんでしょか。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • EUCとshift_JIS変換について

    DB(OSはwin2003、DBはmySQL 文字コードはEUC)に対して CSVファイルをインポート、エクスポートしようとしています。 入出力ファイル(CSVファイル)の文字コードはShift_JISのため、 文字コード変換が必要となってきています。 今、エクスポート(EUC→Shift_JIS)したCSVファイルを、 エクセルで確認すると極一部が文字化けしてしまいます。 そこで質問が4つあります。 1.文字化けは仕方ないことなのでしょうか? 2.文字化けする文字を特定することはできるのでしょうか? 3.エクスポート方法、変換方法によって文字化けする文字は変わってくるのでしょうか? 4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?   (文字化けは已む無し、文字コードを意地でも統一した、    文字を特定して特殊文字に置き換えたなどなど) 基本的なことと思いますが、よろしくご教授願います。  (3.4.はもっと詳細がわからないと何とも言えないかもしれません。   ご回答頂く為には何を調べればいいのかからも教えてください。   よろしくお願いします。)

    • ベストアンサー
    • PHP
  • Shift_JISについて

    知り合いにモバイルのサイト作成を頼まれて作成中で 文字コードをShift_JISで統一してほしいと言われました。 Shift_JISで統一とは具体的に何をすればいいのでしょうか? (ヘッダーは別のデータを読み込んでいるので、 作成するhtmlデータにはShift_JISを指定するようなタグは元々入っていません。) 先方さんから支給されたhtmlデータをそのまま使っていたので Shift_JISになっているものと思って作業していました。 因みにTerapadを使って作成しています。 初歩的な質問でお恥ずかしいのですが… よろしくお願い致します。

    • ベストアンサー
    • CSS
  • EUC⇔Shift_JISの文字コード変換について

    DB(OS:win2003、DBMS:MySQL Server5.0  文字コードはEUC)に対して CSVファイルをインポート、エクスポートしようとしています。 入出力ファイル(CSVファイル)の文字コードはShift_JISのため、 文字コード変換が必要となってきています。 CSVファイルのインポート/エクスポート、文字コード変換は、 php5.2.5で構築しています。 今、エクスポート(EUC→Shift_JIS)したCSVファイルを、 エクセルで確認すると極一部が文字化けしてしまいます。 そこで質問が4つあります。 1.文字化けは仕方ないことなのでしょうか? 2.文字化けする文字を特定することはできるのでしょうか? 3.エクスポート方法、変換方法によって文字化けする文字は変わってくるので しょうか? 4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?   (文字化けは已む無し、文字コードを意地でも統一した、    文字を特定して特殊文字に置き換えたなどなど) 基本的なことと思いますが、よろしくご教授願います。  (3.4.はもっと詳細がわからないと何とも言えないかもしれません。   ご回答頂く為には何を調べればいいのかからも教えてください。   よろしくお願いします。)

    • ベストアンサー
    • MySQL
  • unicode と shift_jis

    テキストファイルを読み込みデータを作成して出力するプログラムを作成しているのですが国際化させることになりました。そこで問題が‥テキストファイルが日本用はshift_jis、海外用はunicodeで構成されています。shift_jisでの文字列操作は良いとしてunicodeが全然わかりません。海外向けを想定したときに気をつけなければならないこともわかりません。なんでもいいので教えてください。お願いします。特に、unicodeの文字列操作はまったくよくわかりませんので細かい点から教えていただけると光栄です。よろしいお願いします。

  • JAVAでのShift-JISとEUC-JP間の文字コード変換ができません

    Windows環境で作成した「Shift-JIS(CP932)」のファイルを、 JAVAを使用して「EUC-JP」のファイルに変換したいのですが、 NEC選定文字(13区)等の追加された機種依存文字の変換ができません。 いろいろ調べてみたのですが、 文字コードの呼び方がサイトによってあいまいで、 どのページが正しいのかがわかりません。 ・「Shift-JIS(CP932)」「EUC-JP」の正確な情報が記述されたサイト ・JAVAにおける文字コードの変換のノウハウ に関しての知識をお持ちの方がいましたら、教えてください。 以下は変換に使用したJAVAのソースコードです。 InputStreamReader ins = new InputStreamReader(new FileInputStream(iFile), "windows-31j"); OutputStreamWriter outs = new OutputStreamWriter(new FileOutputStream(oFile), "euc-jp"); int c; while ((c = in.read()) != -1) { out.write(c); } 以上です。 よろしくお願いします。

    • ベストアンサー
    • Java