携帯電話やスマートフォンの連絡先をエクスポートするとvcfの拡張子が付いたテキストファイルが得られる。
ただし、バージョンや方言の問題で、他機種にインポートできないことがある。
ここでは、1.iPhoneでインポートするための最低限の仕様を考察。2.テキストエディタの置換機能で変換するための小技を記述する。
iPhone11,win10,秀丸エディタ
iCloud(ブラウザから)
機種ごとの電話帳ファイルVCFファイルについて
2G,3GケータイVCFファイル
マイクロSDカードや赤外通信、USB接続などでデータをエクスポート。
BEGIN:VCARD
VERSION:2.1
N;CHARSET=SHIFT_JIS:私の名前
SOUND;X-IRMC-N;CHARSET=SHIFT_JIS:ワタシノナマエ
TEL;CELL:08012345678
EMAIL;INTERNET:
X-CLASS:PUBLIC
X-GNO:0
X-GN;CHARSET=SHIFT_JIS:
ADR;HOME;CHARSET=SHIFT_JIS;ENCODING=QUOTED-PRINTABLE:;;;;;;
NOTE;CHARSET=SHIFT_JIS;ENCODING=QUOTED-PRINTABLE:
END:VCARD
iPhoneのVCFファイル
iCloudの連絡先からエクスポート、インポートできる。
BEGIN:VCARD
VERSION:3.0
N:自宅;;;;
FN:自宅
X-PHONETIC-LAST-NAME:じたく
TEL;TYPE=HOME;TYPE=pref;TYPE=VOICE:050 123 4567
PRODID:-//Apple Inc.//iCloud Web Address Book 2201B9//EN
REV:2021-11-06T18:25:24Z
END:VCARD
最低限の仕様にしたiPhoneのVCFファイル
BEGIN:VCARD
VERSION:3.0
N:自宅
FN:自宅
X-PHONETIC-LAST-NAME:じたく
TEL;TYPE=HOME;TYPE=pref;TYPE=VOICE:0501234567
END:VCARD
TEL;TYPE=HOME;は固定電話,
TEL;TYPE=CELL;だと携帯電話
電話番号の区切りのスペースは無くても大丈夫
X-PHONETIC-LAST-NAME:は無くても大丈夫だが、漢字ではあいうえお順に並ばないので使った方が良い。
VCFファイルについて(UTF-8形式)
vcfファイルを編集・作成した後文字コードをutf-8にしないと文字化けするので注意。
各連絡先(レコード)はbeginとendではさまれている。複数件数の場合、単純に同じ繰り返しが続く。
BEGIN:VCARD
・・・・・
END:VCARD
VERSION:2.1と3.0があるらしい。
FN:フルネーム iPhoneでは必須のよう
X-PHONETIC-LAST-NAME:アップルのふりがなの拡張記載らしい。
このあたりの記述は、アップルの方言の記載だと思う。
PRODID:-//Apple Inc.//iCloud Web Address Book 2201B9//EN
REV:2021-11-06T18:25:24Z
CHARSET=SHIFT_JISの記述も不要
正規表現(検索文字を置換に使う)
ちょっと難しく感じたのが、
N:ネーム1 の記述を以下のように2行にしたかったFN:が必須なのでF:を重複して記載する方針
N:ネーム1
FN:ネーム1
X-PHONETIC-LAST-NAME:アップルのふりがな
正規表現を用いた以下の置換でうまくいった。(円記号は半角に修正のこと)
検索文字列:¥nN:(.+)¥n
置換文字列:¥nN:¥1¥nFN:¥1¥nX-PHONETIC-LAST-NAME:¥n
検索文字列の最初の¥n(改行)が無いとすべての大文字のNを置換してしまうため必要。
変更したくない部分(レコードごとの人名など)を残すために、「タグ付き正規表現」を使う。
秀丸のヘルプから抜粋して引用-------
例えば、「AさんはBさんの友達です」というような文章を、「BさんはAさんの友達です」のように変換したい場合、
検索文字列: (.+)さんは(.+)さんの友達です
置換文字列: ¥2さんは¥1さんの友達です
とすることで、「A」と「B」に相当する部分の入れ替えができます
ここまで引用--------¥記号は半角を使用のこと
一番目のカッコ( )の中を¥1で覚えておいて、置換の時に使うことが出来る。