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

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

新規登録して質問してみよう
ただいま回答率
85.51%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

文字コード

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

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

解決済

1回答

2200閲覧

【python】ターミナル上で出力する文字列が符号化される

meg-teratail

総合スコア8

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

文字コード

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

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2016/07/21 04:37

  • はじめまして,自然言語処理の初心者です.

http://www.cl.ecei.tohoku.ac.jp/nlp100/#sec00
現在,↑のサイトの2つ目の課題を行っているところです.

  • 「パタトクカシーー」という文字列の1,3,5,7文字目を取り出して連結した文字列を得よ.

という課題です.

###困っていること

プログラムをターミナルで動かしたところ,
['\xe3', '\x83', '\x91', '\xe3', '\x82', '\xbf', '\xe3', '\x83', '\x88', '\xe3', '\x82', '\xaf', '\xe3', '\x82', '\xab', '\xe3', '\x82', '\xb7', '\xe3', '\x83', '\xbc', '\xe3', '\x83', '\xbc']
と符号化されて出力されました.
自然言語で文字列が出力されるようにしたいので,困っています.

###該当のソースコード

# -*- coding: utf-8 -*- sentence = "パタトクカシーー" sentence = list(sentence)#文字列の文字を一つ一つ分解しています output = sentence[0]+sentence[2]+sentence[4]+sentence[6] print sentence #output出力の前にsentenceの中身を確認しようとしていました

###試したこと

  • 文字コードの確認

文字コードはターミナル,ソースコードいずれもUTF-8で記述しています.
ターミナルの設定を確認したほか,ターミナルからfile --mimeで調べました.

  • .encode('utf-8')の利用

コードの一番最後のprintを,
print sentence.encode('uff-8')
と書いてみましたがうまくいきませんでした.

###補足情報(言語/FW/ツール等のバージョンなど)
python2.7.11
Sublime Text

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

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

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

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

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

guest

回答1

0

ベストアンサー

最初のsentenceは文字列なのでlistに変換する意味がわかりません。

Pythonでは文字列もindexでアクセスできるので
listに変換しなくても、sentence[4]とかができます。

で、.encodeが失敗したのはリストに対してエンコードを行ったからです。str型にはencodeが使えるはずです。

Pythonのスライスに便利な記法があって、[::2]とかすると2個飛ばしでアクセスできるので

python

1# -*- coding: utf-8 -*- 2 3sentence = u"パタトクカシーー" 4print(sentence[::2])

でいいのではないでしょうか?uを文字列の前につけてUnicode文字列として読み込ませるのもポイントです。

投稿2016/07/21 04:53

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

meg-teratail

2016/07/21 05:08

教えていただいた通りにやってみましたところ,無事に出力できました.お早い回答をありがとうございました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問