Skip to content

MECSUtilsのUTF32ToUTF16で文字数が変わります

MECSUtilsのUTF32ToUTF16で文字数が変わります」とDEKOの掲示板に書き込んだら、丁寧な回答をいただきました。
ありがとうございました。

質問内容は、次のコードを実行すると文字数が変わります。というもの。

UnicodeString us = "テスト";
UCS4String ucs4 = UnicodeStringToUCS4String(us);
WideString ws = Mecsutils::UTF32ToUTF16(ucs4);
cout << us.Length() << endl; //=>3
cout << ucs4.High << endl; //=>3
cout << ws.Length() << endl; //=>4 

もともとの問題は何かというと、次のコードの結果がMECSUtils 1.41ではtrueにならなくなったこと。

UnicodeString s1 = L"テスト";
UnicodeString s2 = Mecsutils::MecsMappingFix_JISX0208ToUnicode(s1);
TEST_ASSERT(s1 == s2);

一致しない原因は、s2の長さがs1よりも長いため。

MECSUtils 1.41ではMecsMappingFix_JISX0208ToUnicode関数が内部でMecsMappingFix_JISX0213ToJISX0208関数を呼んでいる。
MecsMappingFix_JISX0213ToJISX0208関数はUTF32ToUTF16関数を使用している。
UTF32ToUTF16関数はSetLength関数で文字列長さを変更している。
UTF32ToUTF16関数が怪しい。
という考えに至ったわけです。

デブキャンでのお話が楽しみです。

SkyDrive Explorerがバージョンアップして使いやすくなっていた

2009年 窓の杜大賞で銅賞を受賞したSkyDrive ExplorerがSDExplorerに名称を変更して、バージョンアップしていました。

SDExplorer(旧名SkyDrive Explorer)は、マイクロソフトが運営するオンラインストレージ「SkyDrive」をエクスプローラに統合するソフトです。

SkyDrive」は25GBの大容量オンラインストレージを無料で使えるサービス。
この「SkyDrive」をエクスプローラに統合することで、あたかもローカルにあるディスクのように使用することができます。

SkyDrive Explorer 1.0の頃に一度導入したのですが、使い勝手が悪くて、ファイルの登録がとても面倒だったため、すぐに使用をやめてしまいました。

ところがSDExplorer 2.0では、この問題が解決されていました。
エクスプローラでコピーしたフォルダを、SDExplorerのフォルダに貼り付けると、サブフォルダも含めて一括して登録してくれます。
SDExplorer 2.0のおかげで、25GBのオンラインストレージを快適に使用することができるようになりました。

SDExplorer PROという有料バージョンも用意されていました。
無料のSDExplorer BASEの場合は、ファイルを開くには一度ローカルフォルダにファイルをコピーする必要がありますが、SDExplorer PROならSkyDriveのファイルを直接開くことができるようになります。
他にも50MB以上のファイルを扱えるようになるなど、魅力的な機能が用意されているようです。
(SDExplorerのBASEとPROの比較表)

しばらくはデータのバックアップ目的で無料のSDExplorer BASEを使用してみようと思います。

3万円を切るネットブック「U100 Light」

これはすごい。
3万円を切るネットブック「U100 Light」。

ネットブックといえば機能が貧弱なものが多かったのですが、この製品は基本性能も十分。
Amazonのレビューを見ると、Windows 7でも快適に動作しているとのこと。

  • OS Windows XP Home Edition SP3
  • 液晶パネル 1024×600
  • 搭載メモリ 1GB
  • 搭載HDD SATA 160GB
  • 本体質量約1.0kg

この金額なら予備に一台買ってもいいかな、と思わせます。

C++Builder Tipsを更新しました。

C++Builder Tipsに以下の記事を追加しました。

以下の記事を更新しました。
C++Builder 2009 / 2010 の情報を追加しました。

まだ昔の情報のままの記事がたくさんありそう。

Delphi 2010/C++Builder 2010 Help Update 2

Delphi 2010とC++Builder 2010のHelp Update 2が公開されています。

自動アップデートで更新できました。

Delphi 2010 および C++Builder 2009 Help Update 2 には、ヘルプ システムのバグ修正のほか、改良がいくつか施されています。

リリース ノート: Delphi 2010 および C++Builder 2010 Help Update 2

ヘルプはDelphi/C++Builderの一番の弱点ですから、少しずつでも改善されることは嬉しいです。

追記:

ヘルプの品質が悪化している。

以前はちゃんと表示されていたページに、

データベースクエリの文法エラーが発生しました。ソフトウェアにバグがあるかもしれません。 最後に実行を試みたクエリは次の通りです: 機能 “MediaWikiBagOStuff::_doinsert”におけるクエリ

(SQLクエリ非表示)

MySQL の返したエラー “1213: Deadlock found when trying to get lock; try restarting transaction (localhost)”

という文字が表示されるようになった。

Wikiのデータをヘルプファイル用に変換するときに失敗しているように見える。

CSV Mailer メール一斉送信ソフト バージョン0.7.0公開

CSVのデータをメールに差し込んで送信することができるメール一斉送信ソフト「CSV Mailer」のバージョン0.7.0を公開しました。

今回のバージョンアップでは以下の変更を行いました。

  • CSVデータの表示をチェックの状態で絞り込めるようになりました。 チェックされている行のみ表示、チェックされていない行のみ表示、が可能になりました。

  • メニューのファイルに「開き直す」を追加しました。 以前に開いたファイルを開きやすくなりました。

ご要望をいただき、ありがとうございました。

皆様のご意見・ご感想・ご要望をお待ちしています。

Mail Export Tool バージョン 1.1.1公開

Mail Export Tool バージョン 1.1.1を公開しました。

今回のバージョンアップでは次のような変更を行いました。

  • サイズの大きいメールの保存処理速度を改善しました。

    サイズの大きいメールの保存処理に時間がかかり、固まっているように 見えていた問題を修正しました。

  • テキスト形式でエクスポートしたときの件名(Subject)の出力を改善しました。

    不要なタブや空白が入っていた問題を修正しました。

皆様のご意見・ご感想・ご要望をお待ちしています。

人はなぜ形のないものを買うのか

人はなぜ形のないものを買うのか』は、オンラインサービスのビジネスモデルを考えるのに参考になる一冊です。 オンラインゲームやSNSの調査結果をもとに、広告モデルではなくユーザー課金モデルのビジネスモデルについて考えます。

調査結果は予想通りの結果もあれば、意外と思える結果もありました。
例えば、ユーザーコミュニティは満足度の低下を抑える効果はあるが満足度の上昇にはつながらない、とか、新奇性は顧客単価に貢献しない、などです。

仮想世界を成功させるために必要な4つの要素「目標」「アイデンティティ」「人間関係」「公平性」は、サービスの成否を考えるときの指標になります。
例えばセカンド・ライフには目標(自己目的的な動機)がありませんでした。
オンラインゲームで課金が問題になるときは、公平性(活動-報酬モデル)が崩れるときが多いようです。

この本を読んでから自分が関わっているオンラインサービスを見直すと、何が不足しているのかに気がつきます。
できればオンラインサービスを始める前にこの本を読んで、しっかりと戦略を立てておきたいものです。


楽天

砂の器

名作と名高い松本清張の『砂の器』を読みました。

蒲田操車場で起きた殺人事件を、東北訛りと「カメダ」という言葉を手がかりに追いかけていきます。
50年近く前の作品なので読みにくいのではないかと心配していましたが、予想に反してとても読みやすい本でした。

「社会派推理小説」とのことですが、刑事の直観と偶然で事件が解決に向かっていくので、推理小説としては少々不満です。
推理小説というよりも人間ドラマを期待して読んだ方がいいと思います。

映画の評価も高いので、見てみたいと思います。

オリエント急行の殺人

最近の日本の推理小説が叙述トリックばかりで飽きてきたので、正統派のミステリーを楽しみたいと思い、名作と名高いアガサ クリスティーの『オリエント急行の殺人』を読みました。

雪で立ち往生したオリエント急行の車内で起こった殺人事件に、名探偵ポアロが立ち向かいます。
事件・捜査・解決の3章からなるオーソドックスな構成で、読者も謎解きに脳を酷使することになります。

「これぞミステリー」と言える正統派の作品で、評判通りとても面白く、大満足です。
アガサ クリスティーの他の作品も読んでみたくなりました。