本でpythonでのソケットプログラミングを勉強しているのですが、そこに書かれているコードを書いてanaconda promptにて実行しようとすると,
python
1# -*- coding: utf-8 -*- 2import socket 3while True: 4 try: 5 hostname = input('ホスト名を入力(qで終了):') 6 if hostname == 'q': 7 break 8 print(socket.gethostbyname(hostname)) 9 except: 10 print('変換できませんでした')
SyntaxError: (uncode error) 'utf-8' codec can't decode byte 0x83 in position 0:invalid start byte
というエラーが出るのですが、どのようにしたら解決しますか?わかる方お願いします。
エラーはコードのどこ(何行目)で起きているのでしょうか?
5行目でした
環境(OS等)を教えて下さい。
"ホスト名を入力(qで終了)k:"に対して入力したのは何ですか?
環境名ってのはWindows10で大丈夫ですか?もっと詳しく書いたほうがいいですか?あと、入力まで行く前にエラーが出ます。
megさんと同じ質問なのですがWindowsならShift-jisじゃないですか?
一度、UTF-8で編集できるディタでソースを書いて、それをPythonで実行してみて下さい。
'ホ'のShift-jisコードは、16進で、837Aです。
すみません。詳しく教えてください
メモ帳でも保存するときに文字コードを選べます。保存画面の右下で「UTF-8」を選択して保存してください。
LinuxのPython 3.7.4環境ではちゃんと実行できますd^^
ホスト名を入力(qで終了)k:yahoo.co.jp
183.79.135.206
ホスト名を入力(qで終了)k:q
ありがとうございました。megさんのやり方で解決しました。お二方どうもありがとうございました。
回答1件
あなたの回答
tips
プレビュー