エクセルを利用してUnicode(Unicode Code Point)からUTF-8に変換する

このような目的場合、無償サイトだとこちらの「文字番号を入力して調べる」のツールが便利。1つ2つの変換であればこのサイトを利用したほうが早いです。

変換するコードが大量にある場合は、いろいろ方法はあるかと思いますが、あくまでユーティリティなので、エクセルでちゃちゃっと変換する方法を紹介します。

まず、変換したいUnicode(Unicode Code Point)を確認します。ここでは例として「(U+)3042」を変換します。これは、ひらがなの「あ」に相当します。

まず、このUnicodeは16進数ですので、2進数に変換します。この16進数は「30」と「42」に分けられますので、エクセルの関数ですと、

=HEX2BIN(LEFT(セル番号,2),8)&HEX2BIN(RIGHT(セル番号,2),8) 

と書くことが出来ます。

2進数への変換後は、「0011000001000010」となります。

次にこの「(U+)3042」が、こちらのサイトの「表3-9 UnicodeとUTF-8の関係」のどの範囲に該当するか調べます。

今回の場合ですと、3042なので、表の3行目(00000800~0000ffff)の範囲に該当します。(16進数の大小関係が分からない方は、他サイトでお調べください)

(出典: Hitachi, Ltd. 文字コード変換後の値の求め方)

そして、1バイト目から3バイト目を、表に倣って変換します。表の「v」の数だけ、2進数をわけて考えるとわかりやすいです。

今回の場合だと、1バイト目がv4つ、2バイト目がv6つ、3バイト目がv6つですので、0011000001000010は、「0011」と「000001」と「000010」に分けられます。

これらの先頭に、表のように2進数を付け加えます。

1バイト目:「0011」の先頭に「1110」を加えて、「11100011」

2バイト目:「000001」の先頭に「10」を付け加えて「10000001」

3バイト目:「000010」の先頭に「10」を付け加えて「10000010」

これを全部繋げると、「111000111000000110000010」になります。(8bit×3=3byte文字)

ここで行った作業をエクセルの関数で書くと、

=”1110″&LEFT(セル番号,4)&”10″&MID(セル番号,5,6)&”10″&RIGHT(セル番号,6) 

となります。

最後に、この2進数を、再度16進数に戻します。エクセルの関数で書くと、

=BIN2HEX(LEFT(セル番号,8))&BIN2HEX(MID(セル番号,9,8))&BIN2HEX(RIGHT(セル番号,8)) 

となります。

最後に導き出された16進数文字「E38182」が、UTF-8変換後の文字コードとなります。

イメージとしては下記のような感じです。上記の①~③の関数が、以下の図の①~③に対応しています。

あとはオートフィルを使うなり、いろいろと出力を加工して大量の変換ができると思います。

 

Outlookでメールが検索できない時の対処法

現象:Windowsの再インストール後、Outlook2010にバックアップしておいたpstファイルをインポートしたが、インポートされたメールが検索にかからない。

■プログラムを修復してみる

・コントロールパネルから「プログラム」→「プログラムのアンインストール」

2016-08-04_143622

・Microsoft Outlook、 Officeパッケージの場合はMicrosoft Officeを選択し、「変更」をクリック

2016-08-04_143717

・「修復」をチェックして「続行」

2016-08-04_143754

修復が完了したら、PCを再起動。

 

■それでも治らない場合は、インデックスの再構築

・スタートメニューで「インデックスのオプション」と検索

・ダイアログが開いたら、「インデックスを作成する対象」に「ユーザ」フォルダが含まれているか確認。(.pstファイルはたいてい、ユーザ¥ユーザ名 以下にあるので。)

※もし.pstファイルが格納されているフォルダが選択されていなかったら追加。

・「詳細設定」をクリック

2016-08-04_144100

・「ファイルの種類」タブを選び、「.pst」にチェック、「このファイルのインデックスの作成方法に「プロパティとファイルのコンテンツのインデックスを作成する」にチェック、「OK」をクリック。

2016-08-04_144212

・「インデックスの設定」タブに戻り、「再構築」をクリック

2016-08-04_144250

・再構築が完了するまでしばらく待つ。「インデックスの作成は完了しました」と表示されたら、Outlookを再起動。

2016-08-04_144316

 

以上。