• ベストアンサー

Unicodeを文字列に変換する方法

16進数で表記されたデータを文字列に変換する方法がわかりません。 0x61がaと表示されるようにするにはどのようにしたらいいですか?

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

  • ベストアンサー
回答No.1

PHP v6.0.0 200803200630番ビルドで確認。 http://hsivonen.iki.fi/php-utf8/ ここで配布されるincファイルを同じフォルダに突っ込んで, プログラムから読み込んで,unicodeToUtf8 <?php //ソースコードはUTF-8,また、ブラウザ側もUTF-8と自動判別するものとする。 include("utf8.inc"); header("Content-Type:text/plain"); $hoge = array(0x61,0x62); print unicodeToUtf8($hoge); / ?> とすると,abが表示される

onnobu
質問者

お礼

少ない情報から判断していただき 有り難う御座います。 無事に解決できました。

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

関連するQ&A

  • VC#で2進数の文字列をバイト列に変換する方法

    No.1021748で質問した者です。前回はバイト列を2進数の文字列に変換する方法を質問しましたが、今回はその逆の方法を教えて下さい。 例えば、stringに01101111という文字列が入ってる場合には、バイト列0x6Fに変換したいです。お願いします。

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

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

  • 8進数文字列を10進数の数値にする方法

    文字列の数値を10進数に変換したいのですが、 頭に0が付くと8進数扱いでエラーになります。 簡単に変換する方法はありますか? my $a = "09"; my $b = int($a); <-- エラー また、8進数は頭に0ですが 2進数はどんな表記方法でしょうか?

    • ベストアンサー
    • Perl
  • 文字列を大文字の2桁ごとのコンマ付き16進数に変換する方法

    文字列を大文字の2桁ごとのコンマ付き16進数に変換する方法がわかりません。ただ単に文字列を16進数に変更するだけならbin2hex()でできますけど、誰か知っている方はいませんか?具体的には、変換された文字列が1a2b3c4d5e6fなら、1A.2B.3C.4D.5E.6Fと変換したいんです。どうすればいいですか?

    • ベストアンサー
    • PHP
  • C言語で16進数のunicodeを文字に変換したい

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

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

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

  • PHPにおいて16進数のアスキー文字とユニコード

    文字列の明確な違いがわかりません。 たとえば16進数のアスキー文字であれば print "\x41"; とした場合  A という文字が出力されます。 また print 0x41; とした場合はアスキー文字ではなく 65という10進数における数値が出力されますね。 さらには print "\xe6\x96\x87\xe5\xad\x97\xe5\x88\x97"; と記述すると 文字列 という文字が出力されます。 ではそうではなくユニコード文字列というのはなんなのでしょうか? 一般てきに \u0000 という形式で表記される物ですが、コレがいまいちわかりません。 これは16進数のアスキー文字によるマルチバイト文字の再現と何がことなるのでしょうか? たとえば、JSONなんかを単純に出力してみるとこのユニコード文字列という形式で表現されますよね? このユニコード文字列の実態?を知りたいです。 よろしく御願いします。

    • ベストアンサー
    • PHP
  • 文字列を数字のみにエンコードして圧縮したい

    アルファベットの文字列を数字のみに変換してできる限り容量を圧縮したいです。 たとえばASCIIコードに変換して・・・でも数字のみに変換はできますが容量を極力減らしたいです。 何か既存のアルゴリズムで良い方法ないでしょうか? 対象はアルファベット小文字のみの26文字で す。 例えば (log 10^10)/log26=7.06なので 10文字分の数字で 7文字相当のアルファベットを埋め込めるのかな?と思います。 単純にa=0 b=1・・・と割り当てて行って 文字列を26進数表記にした物を10進数に変換すれば一応できそうですが よりよい方法とか効率的な方法があれば教えてください。

  • 8桁文字列を16進数バイト配列に変換

    お世話になります。 VB2005を使用しています。 温調器から温度データを引っ張るプログラムを作成しています。 8桁の文字列を16進数バイト配列に変換したいのですが、GetBytesでは10進数バイト配列に変換されてしまいます。 8桁の文字列又は10進数バイト配列を16進数バイト配列に変換する方法はないでしょうか? 文字列を1文字ずつ16進数に変換して配列に組み込んでいくしかないのでしょうか? よろしくお願い致します。

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

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

    • ベストアンサー
    • Perl
このQ&Aのポイント
  • 回線工事やルーターの設置が完了したが、スマートフォンがネットに繋がらない状況にある。YouTubeは利用できるが、他のWebサイトが開けない。
  • パソコンは問題なくネットに接続できているが、スマホだけが接続できない状態である。
  • スマートフォンを完全にネットに接続する方法を教えて欲しい。
回答を見る