質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.98%

  • Python 3.x

    4129questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • MacOS(OSX)

    1644questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

python 文字化け

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 142

bullton

score 18

file = open('解析用.rtf', 'r')
text = file.read()
text
パスを通した後に、上記コードにてPC内のテキストエディタを開いたところ、下記のように文字化けしてしまいました。
どのような、方法で解決することができますでしょうか。
"{\\rtf1\\ansi\\ansicpg932\\cocoartf1504\\cocoasubrtf830\n{\\fonttbl\\f0\\fnil\\fcharset128 HiraMinProN-W3;\\f1\\froman\\fcharset0 Times-Roman;}\n{\\colortbl;\\red255\\green255\\blue255;\\red0\\green0\\blue0;}\n{\\*\\expandedcolortbl;;\\cssrgb\\c0\\c0\\c0;}\n\\paperw11900\\paperh16840\\margl1440\\margr1440\\vieww10800\\viewh8400\\viewkind0\n\\deftab720\n\\pard\\pardeftab720\\sl340\\sa240\\partightenfactor0\n\n\\f0\\fs29\\fsmilli14667 \\cf2 \\expnd0\\expndtw0\\kerning0\n\\'8c\\'bb\\'8d\\'dd\\'81\\'43\\'90\\'6c\\'8d\\'48\\'92\\'6d\\'94\\'5c\\'82\\'cd\\'83\\'66\\'83\\'42\\'81\\'5b\\'83\\'76\\'83\\'89\\'81\\'5b\\'83\\'6a\\'83\\'93\\'83\\'4f\n\\f1 (\n\\f0 \\'88\\'c8\\'89\\'ba\\'90\\'5b\\'91\\'77\n\\f1  \n\\f0 \\'8a\\'77\\'8f\\'4b\n\\f1 )\n\\f0 \\'82\\'f0\\'8e\\'e5\\'8e\\'b2\\'82\\'c9\\'91\\'e6\\'8e\\'4f\\'8e\\'9f\\'83\\'75\\'81\\'5b\\'83\\'80\\'82\\'f0\\'8c\\'7d\\'82\\'a6\\'82\\'c4\\'82\\'a2\\'82\\'e9\n\\f1 . \n\\f0 \\'90\\'5b\\'91\\'77\\'8a\\'77\\'8f\\'4b\\'82\\'cd\\'81\\'43\\'83\\'6a\\'83\\'85\\'81\\'5b\\'83\\'89\\'83\\'8b\\'83\\'6c\\'83\\'62\\'83\\'67\\'83\\'8f\\'81\\'5b\\'83\\'4e\n\\f1 (\n\\f0 \\'88\\'c8\\'89\\'ba\n\\f1  NN) \n\\f0 \\'82\\'c6\\'8c\\'c4\\'82\\'ce\\'82\\'ea\\'82\\'e9\\'90\\'6c\\'8a\\'d4\\'82\\'c9\\'82\\'a8\\'82\\'af\\'82\\'e9\\'94\\'5d\\'82\\'cc\\'8f\\'88\\'97\\'9d\\'82\\'f0\\'83\\'52\\'83\\'93\\'83\\'73\\'83\\'85\\'81\\'5b\\'83\\'5e\n\\f1  \n\\f0 \\'81\\'5b\\'8f\\'e3\\'82\\'c9\\'96\\'cd\\'82\\'b5\\'82\\'bd\\'83\\'82\\'83\\'66\\'83\\'8b\\'82\\'f0\\'97\\'70\\'82\\'a2\\'82\\'e9\n\\f1 .\n\\f0 \\'82\\'b1\\'82\\'ea\\'82\\'f0\\'97\\'70\\'82\\'a2\\'82\\'e9\\'82\\'b1\\'82\\'c6\n\\f1  \n\\f0 \\'82\\'c5\\'81\\'43\\'83\\'52\\'83\\'93\\'83\\'73\\'83\\'85\\'81\\'5b\\'83\\'5e\\'81\\'5b\\'82\\'aa\\'90\\'6c\\'8a\\'d4\\'82\\'c6\\'93\\'af\\'97\\'6c\\'82\\'c9\\'8a\\'77\\'8f\\'4b\\'82\\'b5\\'81\\'43\\'94\\'bb\\'92\\'66\n\\f1  \n\\f0 \\'82\\'f0\\'8d\\'73\\'82\\'a4\\'82\\'b1\\'82\\'c6\\'82\\'aa\\'82\\'c5\\'82\\'ab\\'82\\'e9\\'82\\'e6\\'82\\'a4\\'82\\'c9\\'82\\'c8\\'82\\'e9\n\\f1 .\n\\f0 \\'82\\'b5\\'82\\'a9\\'82\\'b5\\'81\\'43\\'8b\\'ef\\'91\\'cc\\'93\\'49\n\\f1  \n\\f0 \\'82\\'c9\\'83\\'52\\'83\\'93\\'83\\'73\\'83\\'85\\'81\\'5b\\'83\\'5e\\'81\\'5b\\'82\\'aa\\'82\\'c7\\'82\\'cc\\'82\\'e6\\'82\\'a4\\'82\\'c9\\'8a\\'77\\'8f\\'4b\\'82\\'b7\\'82\\'e9\\'82\\'a9\\'88\\'ea\\'94\\'ca\\'82\\'c9\n\\f1  \n\\f0 \\'97\\'9d\\'89\\'f0\\'82\\'b3\\'82\\'ea\\'82\\'c4\\'82\\'a2\\'82\\'c8\\'82\\'a2\n\\f1 .\\uc0\\u8232 \n\\f0 \\'82\\'bb\\'82\\'b1\\'82\\'c5\\'81\\'43\\'96\\'7b\\'97\\'d6\\'8d\\'75\\'82\\'c5\\'82\\'cd\n\\f1  NN \n\\f0 \\'82\\'c9\\'82\\'a8\\'82\\'af\\'82\\'e9\\'8a\\'77\\'8f\\'4b\\'82\\'cc\\'8e\\'64\\'91\\'67\\'82\\'dd\n\\f1  \n\\f0 \\'82\\'f0\\'97\\'9d\\'89\\'f0\\'82\\'b7\\'82\\'e9\\'82\\'b1\\'82\\'c6\\'82\\'f0\\'96\\'da\\'93\\'49\\'82\\'c6\\'82\\'b7\\'82\\'e9\n\\f1 .\\\n}"

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

拡張子が.rtf(リッチテキストファイル)であるのが原因です。

何かしらの(例えばutf-8などの)バイト列のようですからそれをコードで解析することも可能だとは思いますが、
もし.rtfである必要がないならば、拡張子は.txtで保存できるエディタで保存しましょう。

テキストエディットの場合は「フォーマット」->「標準テキストにする」で.txtにできます。一度.rtfで保存してしまったファイルの拡張子を.txtに変えても文字化け(文字コードの状態)は直らないので注意しましょう。

正直.rtfをプログラミングで使うのは骨が折れるだけだと思うので、オススメしません。

追記:

質問に対する明確な答えを書いていませんでしたね。。すみません。。

まず文字化けではないです
試しにpython抜きで、解析用.rtfの拡張子を.txtに無理矢理変更してテキストエディット以外のエディタで開いてみてください。似たようなコードが書かれているはずです。
もともと.rtfのファイルはMacのテキストエディットならば解釈できても、普通のエディタでは解釈できないんです。

なぜダブルエスケープ(\ではなく\\になった)されたかはちょっと挙げていただいたコードからはわからないですけど、
「そもそも.rtfのファイルを使わなければこのようなことは起こらずに済む」ということを言いたかったです。

もとのファイルが上書きされてしまったのでしょうか?その場合はコメントください。対策を考えます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/05 23:58

    ご丁寧にありがとうございます。
    rtfという拡張子には注目せずに、文字化けだと思い込み文字コードに関する解決法ばかり調べておりました。
    お陰様で無事解決することができました。
    ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.98%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    4129questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • MacOS(OSX)

    1644questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。