powerpointに必要なunicode BOMをsedで入れる

固定長UNICODE(ucs-2)が入力として必要になったことって今までもあまり無かったですし今後も無いだろうと思ってました。ですが何とPowerpoint 2016で必要になってました!

PowerPoint 2016でテキスト形式の「アウトラインからスライド」が文字化けする問題について – wanichanの日記

PowerPoint 2013までは、テキストファイルのエンコード形式はシフトJISでもOKでした

しかもByte Order Markも必要です。

FAQ – UTF-8, UTF-16, UTF-32 & BOM

FF FE UTF-16, little-endian

過去にpowerpointに食わせたシフトJISテキストファイルをiconvで変換すれば済むかと思いましたがiconvはBOM対応してなさそう。

unicode – iconv generating UTF-16 with BOM – Super User

can I use the iconv command to generate UTF-16 output with a BOM and with specified endianness” is currently “No

こういう時は sed です。以下の後半部分で1行目の行頭に 0xFF , 0xFE を挿入できます。

iconv -f Shift_JIS -t UTF-16LE シフトJIS.txt |
sed '1s/^/\xff\xfe/'  > BOM入りUCS2.txt
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s