[PHP-users 10850] Re: 0xf9とか0x77 とかどうやって覚えるのですか?

NAKAMURA Takeshi php-users@php.gr.jp
Tue, 15 Oct 2002 22:29:32 +0900


仲村です

From: Tatsuya Kondo <konet@zc.wakwak.com>
Date: Tue, 15 Oct 2002 21:56:14 +0900
Subject: [PHP-users 10848] Re: 0xf9とか0x77 とかどうやって覚えるのですか?

>> $str = pack("C*",0xf8,0x9f);  // i-modeの絵文字「晴れ」(太陽のマーク)
>
> なぜ、上記が「太陽」マークなのでしょうか?
> そうゆう所がチンプンカンプンです。

pack("C*",0xf8,0x9f); の pack の意味は
 http://jp.php.net/manual/ja/function.pack.php
を、見ながら色々試してみるといいと思います。

 一覧表より 絵文字「晴れ」は、 S-JISコード 16進数で F89F と書かれています。
0x?? という16進数 表示形式を使うと 0xF89F になります。
 ただ、pack には 1バイト ずつ書く必要があるようで(?) 1バイトづつ書くと
「0xF8」「0x9F」となります。

# 更に混乱、いろいろな言語の 16,8進数での表記 (10進数の 255です)
#  0xff, &hFF, FFh, &O777, \777, 情報処理の本だと (FF)16, (777)8


 pack("C*",数字,数字); で、 文字コード 0xF8 と 0x9Fを「*」でくっつけて(0xF89F) 文字に変換
  ===>「晴れ」のできあがり となります。

> これをそのままブラウザで表示したら、エラーになりました(ToT)
> # 使い方が間違ってる?(?)
 PHPは、よく分からないんで(なら、何故出てくる?>自分)

> 一覧表のどれをもとに、何をすればいいのかサッパリで・・・。
 上記から S-JIS の 16進数 をずらずら並べれば良いことが分かりました?
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 関西沖縄青年の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
 仲村 武 <1Yen@Bigfoot.COM>