Vista日記

Surrogate Pair in Vista VS My program (T T)

1 Mins read

Vistaが登場してから何かと文字コードの拡張にともなう影響が声高々と謳われているが、
「何がそんなにもんだいなんじゃい!」ってVistaでMy Programを動かしてたら・・・・

あれれ???「この文字バックスペースすると文字化けする・・・□に・・どうなってんじゃい!!!」

およそ10分Webサーフィン♪

!:evil:!サロゲートペア???で問題発生!?

簡単にまとめると・・・

1.サロゲートペアとはUTF16では本来2バイト(16bit)で1文字を表現しているが、65,536バイトでは表現できない文字があらわれた(中国、インド、日本などアルファベット圏外字を扱うため)ために16bit+16bit(前半0xD800~0xDBFF, 後半0xDC00~0xDFFF)を使用して16bitで表現できない文字をこの領域に入れる方法をサロゲートペアと言う。詳しくはここ
サロゲートペア自体は昔から存在する。
 
2.近年のOS内部処理ではUnicodeのUTF16によって文字制御している。
 
3.XPまでの日本語標準フォントにはサロゲートペアが存在しなかった為、UTF16は2バイトのみと判断する場合がほとんどに。(これも問題だが・・・デファクトスタンダードされた)
 
4.Vistaに搭載された日本語標準フォントにはサロゲートペアが存在する。
 
5.サロゲートペアの文字は見た目は1文字だが、プログラミング上のLengthが2(4バイト)で帰ってくる!!!(もちろん実際に内部では4バイト=32bitを使用しているのだから・・・)
 
6.今まで文字をカウントしている関数が信用ならない。C#のcharにサロゲートペア入れて試しにLengthみると2!?本来なら1がほしい
 
7.サロゲートペアをTextBoxなどに入れてbackspaceすると下位サロゲートだけ消えて上位サロゲートが残るため文字化け(□など)が起こる。なので2回押して1文字消す???

こんな感じになる・・・・:evil:!!!

Vistaの文字コード問題はこればかりじゃないが、これが一番影響範囲大でしょう!

PGとして考えられる影響範囲

1.SQL等、検索はどうなの?
2.正規表現は?
3.文字をカウントしている関数は?
4.バイト制限しているコントロールは?
5.left、raightrightなど関数は?

少し考えただけで頭が痛くなる・・・どうすんの!オレ!?つづく(笑)ってな場合じゃない!

この仕様きめたお偉いさん方はOS環境やPGのことなど理解してないでしょう!
しかし、これは2000年問題よりも事は重大だと思うよ・・・まじで:mad:

最後に、今まで表記が間違っていた文字や文字コードとして無かった文字が新たに追加されるのは
歓迎されるべきだが、追加の方法が今の時点で尚且つサロゲートペアとして追加するべきだったのか?
かなり疑問に感じる。

関連リンク
・C#など.NETでの対応方法
・MS製品JIS2004対応表
・文字化けとは
・Vista変更文字1
・Vista変更文字2
・総まとめ情報

Read more
日記

リファクタリング?

1 Mins read

昔はどんなに汚いソースを見ても動いているプログラムのソースはイジラナイが鉄則だったけど、
最近のリファクタリングツールは便利になったね~:razz:

キタナイソースは修正や変更に弱く、ひどい場合には、
「これ作り直した方が早いよ(^ ^;)」ってな場合も多々ある。

何よりプロフェッショナルPGとしては直したい衝動に激しく襲われるものである:roll:
もちろん、汎用性の高いソースと工期短縮とのハザマでついついキタナク書いてしまうこともあるだろう。

そんなPGの現状に手助けしてくれるのがリファクタリングツールである。
動いている状態のプログラムがブルーなら、手を加えて問題が発生している場合をレッドで教えてくれる。
要するに修正を加えてもバグがしこまれたかツールが判断してくれるというものである。

JavaのDB回りのリファクタリングツールが発表されたので今度使ってみるかぁ~

最後に・・・しかし、稼働中のコアな業務アプリはリファクタリングツールがあっても手お入れるべからずかな(笑)

Read more
日記

キリンの新ビール

1 Mins read

ビール通の管理人としてはあのキリンが100年を記念して作成し、
先日発売したキリン・ザ・ゴールドというビールを早速試飲してみた・・・

お味はというと・・・

なんじゃこりゃ~(怒)

ほとんど発泡酒と同じで、のどゴシはまだしても後味が全然ない???
これなら発泡酒で全然いいんではないの???との感想

キリンさん・・・(悲)

まぁ味の好みは人それぞれ違うのでビール党の方はご意見ください(^ ^)

Read more
日記

また耐震偽装が

1 Mins read

久しぶりの日記になります。
しかもシステムの話題ではありません^^;

耐震偽装の話は一昨年、姉歯建築士の話として有名になり
関係者が逮捕される事件となりましたが、これは氷山の一角なのか?と
いう疑念がしていました・・・それというのも上記の一件で逮捕された、
皆さんもご存知のイーホームズの藤田さんが他にも偽造物件があると
昨年の2月頃から色々なメディアや公官庁に訴えていたのを耳にしていたからなのです。

そんな中、姉歯が関係しない建築物で先日アパグループの京都のホテルが耐震偽装の為に
使用停止命令を受けてアパの社長が記者会見で謝罪のコメントをしていました。
第2の姉歯が出てしまったのです・・・

しかしおや?っと思い出しました、約1年以上前からきっこのブログなどでも
取り上げられていた内容ではアパグループの建築物、田村水落設計が関わった
物件の多くが耐震偽装されていると、それでもアパグループの代表者が
安部首相の後援会組織「安晋会」の副会長を務めているので公にならないような
コメントもあった。その時はブログ内容なので真意は確かではないと気にも留めないで
面白半分で読んでいたのだが・・・

結論としてアパ謝罪までの時間を考えると安部首相との関係も疑わざる得ないし
第2の姉歯がやっぱりいたかと・・・こうなると耐震偽造の問題も氷山の一角の可能性が
高いので次々出てくるはず???・・・・・・なぜ?っと言うのはアパの話もそうですが、
これだけ騒いで1年後に初めて偽装を認めていると言うことはアパのみではなく公官庁、
しいてはマスコミも含めて、この耐震偽造問題を世間から消したい空気がアリアリと感じ取れる。
国土交通省は速やかに問題が有りそうなマンションは耐震性を判断する必要があるのではないのか?
どうも動きが鈍い・・・それは安部首相との関係なのかもっと深いところでの関係なのか・・・

恐ろしい世の中なのか?

Read more
日記

MSのOffice Liveとは?

1 Mins read

OfficeLiveなるものをMSサイトに発見!!!

なんか無料HP作成できるサイトらしいが・・・・・:shock:
好きなドメインを使用できると言うので「どうせサブドメインだろ!?」と思ってみたら???
なんと「com」「org」「net」のルートドメインが無料で使用できるスペースを提供するものらしい!!!
MS、ドメイン料を無料にしてまでユーザーを取り込みたいのか・・・・:cry:
さすがビッグカンパニー:cool:、ということで遊びがてら使用してみる価値はありそうですなぁ~

OfficeLiveBate

Read more