作者firingmoon (小天)
看板Python
標題[問題] socket 接收中文信息
時間Tue Jan 16 15:35:31 2018
各位板友好
我不是python的開發者,但碰到一個問題
客戶端是用python開發,要求我方要用TCP socket傳信息過去
例如 大家好
他這裡就必須收到大家好這三個字,不經過任何轉碼
因為我本身是C#開發者,TCP socket這部分我也是第一次接觸
就我看了幾篇文發現,都是要轉成byte[]才能傳過去,所以對此有疑惑
想請問一下,python是否真的能夠這樣接收信息?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.91.233
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1516088133.A.67E.html
1F:→ uranusjr: 一樣啊要轉成 bytes, 客戶根本不懂 XDDD 01/16 16:33
2F:→ uranusjr: 問問他是用什麼編碼, 如果他講不出來就罵爆他(誤) 問他 01/16 16:35
3F:→ uranusjr: print(sys.getdefaultencoding()) 會顯示什麼, 通常會對 01/16 16:35
感謝回應
後來我用python2測試,發現蠻簡單的,也不用轉碼之類的
但是對方是用python3開發,我將原本程式拿去python3處理
結果從client端丟中文字至server端過去,就變bytes了...
※ 編輯: firingmoon (111.246.91.233), 01/16/2018 18:05:39
4F:推 tentenlee: 不管是什麼東西傳輸都是bytes... 01/16 19:01
5F:→ uranusjr: 對方用 Python 3 那他一定知道是用什麼編碼, 反正去問他 01/16 19:02
6F:推 cowbon: p3的str是unicode,p2的str是raw 8-bit value 01/17 13:42
7F:→ elements: 沒有那種不用轉碼的 只有他自動幫你轉 原理一定要懂 01/18 13:51
8F:→ Blankfein: 第一次聽到要求不轉碼XD 01/28 21:21