2005-12-20 科学的な実験とは, Character Set vs. Encoding [長年日記]
■CONTINUE誌で羽海野チカ×藤原啓治ハチクロ対談
「すべての若き野郎どものためのハチミツとクローバー通信 #002」
花本先生役藤原啓治さんと羽海野チカ先生との対談。
藤原さんが自分の出演作の中で、「バシッと合った」作品に「十兵衛ちゃん」を挙げているのがちょっと意外。
クレヨンしんちゃんの映画「大人帝国の逆襲」の本番中に泣いてたとか。
クレヨンしんちゃんは"子供と一緒に観にいってもいい映画"だなぁ。
■科学的ということ、実験するということ
そうではなく、科学的には完全に否定されています。結晶の形は温度と過飽和度で決まることは、中谷宇吉郎が人工雪の実験で示しました。これは世界的に知られたすぐれた業績です。
http://www.cp.cmc.osaka-u.ac.jp/~kikuchi/nisekagaku/mizuden_doutoku2.html
この後ろに「科学的には」の意味を入れるといいんじゃないかなぁ。
実証可能である、すなわち再現性があるということ。他の研究者が同様に実験をし同様の結果を得てきた*1。
論理的、合理的である。つまり「実験したらこうなりました」ではなくて「こうなるはずである。そして実験したらそうなった。」でなければならない。
というところか。
だいたい「実験したらこうなったが、それは科学的には証明されていない」っていうのは実験とは言わないだろう。
順番が反対だよな。
「実験してみたらあらかじめ予想していた結果にならなかった」というのは(研究の途中では)ままある話だけど。
■Character Set vs. Encoding
ツッコミが入ってくれて良かったー。
昨日の、
の件でトラックバックがありました。
Character Set (文字集合) vs. Encoding (符号化)
404 Blog Not Found:備忘録: Unicode, UCS, and UTF
まずこの二つが別物だということを抑えましょう。UCSというのは名前からわかる通り、Character Set (文字集合)です(とはいえ、Unicode.orgのGlossaryを見ると、符号化の一手段にも見えなくはない)。
はい! 「Character Set」という概念に対しての、適切な言葉が思いつかない(or 思い出せない or 探しきれない)状態で書いたので混乱してますね。
これを指摘していただけて助かりました。
UTF-8
現在最も使われているUnicodeの符号化規格がこれです。U+7FFFFFFFまで符号化できます。
(略)
UTF-16U+0000からU+FFFFまではそのまま16bit整数、U+0000からU+10FFFFまではいわゆる Surrogate Pair という一対の16bit整数で符号化する規格。Javaでcharというとこれになります。U+10FFFFまでしか符号化できません。Unicodeの現規格の制限はここから来ています。
404 Blog Not Found:備忘録: Unicode, UCS, and UTF
えーと、UTF-8は(昨日のエントリにも書いた通り)6バイトをあてて、U+7FFFFFFFまで符号化できる。でもUTF-16がU+10FFFFまでしか符号化できない(というか、Surrogate Pairを導入してどうにかU+10FFFFまで扱えるように拡張した、というのが本当だろうけど)という理由から、Unicodeの現規格ではU+10FFFFまでの文字集合しか扱わ(え)ない。
Unicodeの仕様書(規格書?)のUTF-8の仕様、
25ページ、Table3-6 で、U+10FFFF までのコードポイントまでしか無いのはそのためですね。
ということで、
原理的に、UnicodeではU+0000からU+7FFFFFFFまでの2^31種類の文字を割り当てる事ができますが、現規格ではUTF-16でも符号化しきれるU+0000からU+10FFFFまでの17*2^16種類しか使わない決まりになっています。
404 Blog Not Found:備忘録: Unicode, UCS, and UTF
がはっきりと認識できました。ありがとうございました。
ところがところが、Unicode規格では上記の通りでいいのだけど、unicode.orgのFAQ、
Q: What is a UTF?
A: A Unicode transformation format (UTF) is an algorithmic mapping from every Unicode code point (except surrogate code points) to a unique byte sequence. The ISO/IEC 10646 standard uses the term "UCS transformation format" for UTF; the two terms are merely synonyms for the same concept.
http://www.unicode.org/faq/utf_bom.html#1
に出ている通り、Unicode 規格の中での UTF は、"Unicode transformation format"だけど、ISO/IES10646 で UTF を "UCS transformation format"としている。
こちらの意味だと、
Another security issue occurs when encoding to UTF-8: the ISO/IEC 10646 description of UTF-8 allows encoding character numbers up to U+7FFFFFFF, yielding sequences of up to 6 bytes.
http://www.ietf.org/rfc/rfc3629.txt
となって、U+7FFFFFFF まで許すという話もあって、ややこしさが増す。
UTF-8について語る時は気を付けよう、ということになりますね。
このあたりは昨日も"書いたつもり"だったのだけど、用語が適切でないのであの説明では駄目ですね。
追記
上記の"許す"(="allows")の意味を考えないまま引用してしまった。
UCS2や"UnicodeのCharacter Set"を扱う分はここまでのコードポイントは必要ないわけで、やっぱりUCS4の一部(半分?)を表現できる、という意味なのか。
このあたりの情報を昔どこかのサイトで読んで、その時にちゃんと理解しないまま記憶の奥に沈めてしまったらしい。
昨日のエントリの枕の「UTF-8ってUCS4の一部分を含めることができるんだっけ?」はその辺りの、記憶の曖昧さや理解の無さからでてきたんだろうな。
とりあえず、「UnicodeのCharacter Set は U+10FFFFまで」を忘れない様にしよう。
■はてなは仕事で手を抜くための場ではない
と、思うのだけど?
自分で検索し、
サイトを選り分け、
書かれていることを理解し、
自分の知識、自分が経験したこと、あるいは今自分が直面している疑問と照らし合わせて体系化し、
自分の知識とする。
そのプロセスを省いて楽をしよう、っていうのが人力検索はてなの本分じゃないハズ。
知っている人なら検索するのも楽だけど、知らなければ検索するのが難しい
っていうような問題に対するよいアプローチだとは思うけど。
アンチウィルスソフトを導入したのですが、本当に動作しているかどうかを確認するのに、ウィルスの現物が欲しいです。どこかに無いですか? もしくは代替案をお願いします。
http://www.hatena.ne.jp/1133603415
映画界(洋画)で監督が「自分が監督したことをクレジットに入れたくない」時に使う監督名ってなんでしたっけ?
http://www.hatena.ne.jp/1125996568
このあたりは回答の単語を知っていればたやすく検索できるけれども、知らないと検索に時間がかかる例。こういうのははてな向き。
ウェブ制作に関する和英対照表を探しています。「画面遷移」など英文でどのようにいうかの一覧リストがあるとうれしいです。よろしくお願いします!
http://www.hatena.ne.jp/1133425466
この辺も「そういうページがあって自分のブックマークに入っている」人がいればすぐに回答がつくだろう。
http://www.hatena.ne.jp/user?userid=sanso
http://www.hatena.ne.jp/user?userid=izunagonago
なんなの?
*1 本当は、私はそういう事実は知らないが、けれどそうであるはずだ、と言える。でなければ科学の世界で成果が認められるということはありえない。