YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Traditional subtitles

← 06x-07 International Characters

Get Embed Code
3 Languages

Showing Revision 4 created 08/01/2014 by Fran Ontanaya.

  1. Raymond 有個問題,處理使用非美國字母字元的問題
  2. 當他第一次以西班牙文寫程式時,使用了文字,
    並使用 Python 來執行
  3. 他得到了一個 error —— 語法錯誤 "非 ASCII 字元"
  4. 在 IDE 執行相同的程式碼,並不會得到這個錯誤
    它運作正常
  5. 他更改編碼 (encoding) ,以解決這個問題
  6. 所以,當我們創建搜尋引擎時,
    它會掃描不同語言的頁面
  7. 可能使用了不同的語言介面,
    我們應如何改變我們的程式碼
  8. 這樣,它就不會有編碼的問題?
    我們預設的字元集應該是什麼?
  9. 謝謝你的問題,Raymond,談到這個觀點真的很好
  10. 當你採取的輸入,包括了多個語言,不僅是英語時
  11. 字元集是不同的
  12. 如果你看一個網頁,網頁有一個標題 (header)
  13. 標題識別了它使用的字元集
  14. 這是 HTTP 協定的一部分,
    要有標題,描述內容的類型
  15. 包含字元集
  16. 字元集可以從一些不同的字元集中選擇
  17. 最普遍的一種稱為 UTF-8
  18. 它使用編碼字元的方式,可以使簡單的字元
  19. 以僅僅 7 個位元 (bit) 來編碼
  20. 這被稱為 ASCII 字元集
  21. 這些都是在英文中常見的字元
  22. 它不包括在其他語言中,使用的所有字元
  23. 但是,這些 7 位元的字元,能以少量的空間進行編碼
  24. 在 Python 裡的標準字串,其使用的標準都是 ASCII
  25. 每個字元是一個位元組 (byte)
  26. 僅有 255 個可能的字元,
    可以在 1 個位元組 (byte) 做編碼
  27. 如果你想要處理更多的語言,你需要使用不同的字元
  28. 要做到這一點的方法稱為 Unicode
  29. Unicode 是一種字元集,可以支援大量的字元
  30. 它實際上是一種編碼字元的方法
  31. 沒有限制你可以支援多少字元
  32. 有一種編碼方式,當字元少時,其效率高
  33. 但仍允許你編碼數量大的字元,稱為 UTF-8
  34. 這為大多數 web 瀏覽器所使用
  35. 為了在 Python 處理這個問題,
    你必須使用 Unicode 字串,而不是標準字串
  36. 有一個內置類型的 Unicode 字元
  37. 您可以透過使用 Unicode ,將字串轉換為 Unicode
  38. 然後有其他字元集,有方法來編碼 Unicode
  39. 如果你想要建立一個搜尋引擎,
    可以處理文字中,沒有使用標準的英文字元集
  40. 你一定要小心處理 Unicode
  41. 和所有這些不同的字元編碼