Windowsでのテキスト保存(ANSI)方法
Macで作成したメモをコピーして、Windowsのメモ帳で保存しようとすると、
「このファイルは、ANSIテキストフアイルとして保存すると失われてしまうUnicode形式の文字を含んでいます」
とエラーが出て、文字コード「ANSI」で保存することが出来ません。
文中のUnicodeの情報を適宜変換・削除したいのですが、かんたんにみつけることはできますか?
よろしくお願いします。
Mac mini, OS X Mavericks (10.9.5)
Macで作成したメモをコピーして、Windowsのメモ帳で保存しようとすると、
「このファイルは、ANSIテキストフアイルとして保存すると失われてしまうUnicode形式の文字を含んでいます」
とエラーが出て、文字コード「ANSI」で保存することが出来ません。
文中のUnicodeの情報を適宜変換・削除したいのですが、かんたんにみつけることはできますか?
よろしくお願いします。
Mac mini, OS X Mavericks (10.9.5)
なお、ToMiさんがコマンドでutf-8からshiftjisに変換する方法を書かれてますが、結果はテキストエディットを使うのと変わりないと思いますよ(多分内部的には、ToMiさんご紹介のiconvを利用してるだけですので)。テキストエディットでは、日本語の場合、保存するときに文字コードをUTF-8、MacOS、Windows、EUC、ISO2022JP、ShiftJISに指定できます。MacOS、Windows、ShiftJISなどと別れてるのは、改行コードのことも考えてるのではないかと思います。
ちょっとだけ補足します。
コマンドを使ったのは変換できない文字を削除するのではなく、マークをつけて残すためです。
まあ、エディタの画面で直接確認できるならそれに越したことはありませんが。
改行コードについてはその通りだと思います。(カッコ内は文字コードの10進表記)
MSDOS — 文字コードはSHIFT-JIS、改行は \r\n (13,10)の二文字。
Windows — 文字コードはUTF-8(Macとは少し異なる)、改行は \r\n (13,10)の二文字。
MacOS — 文字コードはSHIFT-JIS、改行は \r (13)の一文字。
OS X (UNIX) — 文字コードはUTF-8-MAC、改行コードは \n (10)の一文字。
といったところでしょうか。
藤井浩 による書き込み:
「このファイルは、ANSIテキストフアイルとして保存すると失われてしまうUnicode形式の文字を含んでいます」
というエラーがでて、該当との文字を削除すると、正常に保存されるので、テキスト全体が問題だとは思えないのですが、どうなのでしょうか?
先ほども書いたように、ANSI(CP932)に定義されている文字はUNICODEより少ないのでUNICODEにある文字でもCP932にはない文字があります。そういう文字が含まれているということです。極端な例でいえば携帯とかで使う絵文字もUNICODEでは文字として定義されていますが、CP932にはありません。
ご紹介いただいたCotEditorをさきほど試してみたのですが、
非互換文字の抽出や変換が簡単にできるようになりました。
ありがとうございました。
Windowsでのテキスト保存(ANSI)方法