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

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

新規登録して質問してみよう
ただいま回答率
85.48%
文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

Q&A

解決済

1回答

2192閲覧

拡張子gzファイルをgzipコマンドで開いたら、文字化けする問題について

trafalbad

総合スコア303

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

0グッド

0クリップ

投稿2019/08/28 00:27

編集2019/08/28 00:28

拡張子gzファイルをpythonで以下のように開きましたが、テキストがエンコーデングされているのか文字化けして読めません。

文字化けせず、正常なファイルの中身を取り出すにはどうしたら良いでしょうか?

python

1import gzip 2ano_path = 'HGT.200.3.2017060409.gz' 3with gzip.open(ano_path, "r") as fi: 4 for line in fi: 5 print(line) 6 7 8>>> 9b'8F\xb6\x078F\xb6\x048F\xf6\x018Fv\xff7Fv\xfd7Fv\xfb7Fv\xf97Fv\xf77F\xf6\xf47F6\xf47F\xf6\xf37F\xf6\xf37F\xf6\xf37F\xf6\xf37F\xf6\xf37Fv\xf47F\xf6\xf47F\xf6\xf47Fv\xf47F\xf6\xf47F\xf6\xf47F\xb6\xf57F6\xf67Fv\xf77F\xf6\xf87Fv\xfa7F\xf6\xfb7F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xaf:Fv\xa5:F\xf6\x93:Fv\x8a:Fv}:Fvo:F\xf6]:F\xf6U:F\xf6J:F\xf6>:F\xf64:Fv*:F\xf6\x1f:Fv\x17:F\xf6\x0e:F\xf6\x05:Fv\xfe9Fv\xf69F\xf6\xed9Fv\xe59Fv\xdd9F\xf6\xd39Fv\xca9F\xf6\xbf9F\xf6\xb59F\xf6\xac9F\xf6\xa39F\xf6\x9a9Fv\x929Fv\x8b9F\xf6\x829Fv{9F\xf6t9F\xf6m9F\xf6g9Fv_9FvW9FvP9FvH9FvA9Fv99F\xf629Fv+9F\xf6#9Fv\x1c9Fv\x149F\xf6\r9F\xf6\x069Fv\x009F\xf6\xf78F\xf6\xee8F\xf6\xe68Fv\xdf8F\xf6\xd88F\xf6\xd28Fv\xcb8Fv\xc58Fv\xc08F\xf6\xbc8Fv\xb98Fv\xb38Fv\xaa8F\xf6\xa38Fv\xa08F\xf6\x9b8F\xf6\x958F\xf6\x8d8Fv\x868Fv\x818F\xf6|8F\xf6u8F\xf6o8F\xf6h8F\xf6a8F\xf6[8F\xf6U8FvP8F\xf6J8F\xf6E8FvA8Fv<8F\xf678Fv38Fv/8F\xf6*8Fv&8Fv#8Fv\x1f8F\xf6\x1b8F\xf6\x188Fv\x158F\xf6\x118Fv\x0e8F\xf6\x0b8F\xf6\x088F\xf6\x058F\xf6\x038F\xf6\x018F\xf6\xff7F\xf6\xfe7F\xf6\xfc7Fv\xfb7Fv\xfb7Fv\xfb7Fv\xfb7F\xf6\xfa7Fv\xfb7Fv\xfb7Fv\xfb7Fv\xfb7Fv\xfb7Fv\xfb7Fv\xfb7Fv\xfc7F\xf6\xfc7F\xf6\xfe7Fv\x008F\xf6\x018F\xf6\x038Fv\x058F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xba:F\xf6\xaf:F6\xa1:F6\x98:F6\x88:F\xb6y:F\xf6h:F\xb6_:FvT:FvG:F6=:F62:F\xf6&:F6\x1e:F\xb6\x14:F\xf6\n' 10b':F\xf6\x02:F6\xfb9Fv\xf29F\xf6\xe99F6\xe19Fv\xd79Fv\xcd9F6\xc29F\xf6\xb69F\xb6\xad9Fv\xa49F\xf6\x9a9F6\x919F6\x899Fv\x819F6z9F\xb6r9Fvk9Fve9Fv]9F\xb6U9F\xf6M9FvF9F\xb6>9F679F\xb6.9F\xb6\'9F6\x1f9F\xb6\x179Fv\x109Fv\t9F\xb6\x029F\xf6\xfa8F\xf6\xf38Fv\xec8F\xf6\xe38Fv\xdc8Fv\xd58F\xf6\xce8F\xb6\xc98F6\xc48F\xb6\xbe8F6\xba8F\xf6\xb58F6\xb18F\xf6\xaa8F\xf6\xa08Fv\x9c8Fv\x968F\xf6\x918F\xf6\x8c8Fv\x868F\xf6~8F6z8F6u8F\xb6o8F\xf6i8Fvd8Fv^8F\xb6X8F6S8F6N8F\xb6I8F6E8F\xf6@8Fv<8F\xb678F\xf628Fv.8Fv*8Fv&8F\xb6"8F\xb6\x1f8F\xb6\x1c8Fv\x198F\xb6\x158F\xf6\x128Fv\x108Fv\r8Fv\n' 11b'8Fv\x088Fv\x068F6\x058F\xf6\x038F\xf6\x028F\xf6\x018Fv\x018Fv\x018Fv\x018Fv\x018Fv\x018F\xf6\x018Fv\x028Fv\x018F\xf6\x008Fv\x018Fv\x028Fv\x028F\xb6\x038Fv\x058F\xb6\x078F6\n' 12b'8F\xb6\x0b8FK\r8F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xca:F6\xbe:F\xb6\xb5:F\xf6\xa5:F\xb6\x99:Fv\x88:Fvw:F\xf6l:F\xb6`:FvT:F\xf6H:Fv<:F\xf60:Fv&:Fv\x1b:F\xf6\x11:F\xf6\x08:F\xb6\x00:F\xf6\xf79F6\xef9F\xf6\xe59F6\xdc9Fv\xd19F6\xc59F\xb6\xb99F6\xaf9F\xf6\xa49F\xf6\x9a9F\xf6\x909Fv\x879F\xf6~9F6x9F\xf6p9Fvh9F\xf6`9F\xb6Y9FvR9F\xb6J9F\xb6B9Fv;9Fv39F\xf6*9F6"9Fv\x1a9Fv\x129F\xf6\t9F\xb6\x039F6\xfd8F\xf6\xf48F6\xec8F\xf6\xe58F\xf6\xdf8Fv\xd88F\xb6\xd18F\xf6\xca8F6\xc58Fv\xc08F\xb6\xbb8F\xf6\xb58Fv\xb18F\xb6\xac8Fv\xa88F\xb6\xa18F6\x998Fv\x938F\xf6\x8d8F\xf6\x878Fv\x818F6}8F\xf6x8F6t8F\xb6n8F\xb6i8F\xb6d8F\xf6_8F\xf6Z8F\xb6V8F\xf6Q8FvM8F\xb6H8F\xf6C8F\xb6?8F\xf6:8F\xb668Fv28Fv.8Fv*8F6\'8F\xf6#8F\xb6 8Fv\x1d8F\xb6\x1a8Fv\x188F\xf6\x158F6\x138Fv\x108Fv\x0e8F\xf6\x0c8F\xf6\x0b8F\xf6\n' 13b'8F\xf6\t8Fv\t8Fv\t8Fv\t8F\xb6\t8Fv\t8Fv\t8Fv\t8F6\t8F\xb6\x088F\xb6\x088F\xf6\t8Fv\n' 14b'8F\xf6\n'

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2019/08/28 02:21

そもそも、gzip -dc HGT.200.3.2017060409.gz で、欲しいテキストが得られますか?
trafalbad

2019/08/28 05:10

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 1064: invalid start byte というエラーが出ます
guest

回答1

0

ベストアンサー

こうするとどうなりますか?

Python

1with gzip.open(ano_path, "rt", "utf_8") as fi:

投稿2019/08/28 00:59

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

trafalbad

2019/08/28 05:11

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 1064: invalid start byte というエラーが出るのですが
Zuishin

2019/08/28 05:18

そこは元のテキストのコーデックを使ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問