<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 導航 - [索引](# "總目錄") - [下一頁](# "Flask 擴展開發") | - [上一頁](# "安全注意事項") | - [Flask 0.10.1 文檔](#) ? # Flask 中的 Unicode Flask 與 Jinja2 、 Werkzeug 一樣,文本方面完全基于 Unicode ,大多數 web 相關的Python 庫同樣這樣處理文本。如果你還不知道 Unicode 是什么,可能需要閱讀[The Absolute Minimum Every Software Developer Absolutely,Positively Must Know About Unicode and Character Sets](http://www.joelonsoftware.com/articles/Unicode.html) [http://www.joelonsoftware.com/articles/Unicode.html] 。這些文檔對基本知識做了一些封裝,保證你處理 Unicode 相關的事情有愉快的經歷。 ### 自動轉換 為了提供基本無痛的 Unicode 支持,Flask做了這些假設: - 你網站上文本編碼是 UTF-8 - 你在內部對文本始終只使用 Unicode ,除非是只有 ASCII 字符的字面量字符串 - 只要協議會話需要傳送字節,都離不開編碼和解碼過程 所以,這對你來說有什么意義? HTTP 是基于字節的,不僅是說協議,用于定位服務器文檔的系統也是這樣(即 URI或 URL )。然而,通常在 HTTP 上傳送的 HTML 支持很多種字符集,并且需要在 HTTPheader 中注明。為了避免不必要的復雜性, Flask 假設你發送的都是 UTF-8編碼的 Unicode,Flask 會為你完成編碼工作,并設置適當的 header。 如果你使用 SQLAlchemy 或類似的 ORM 系統與數據庫會話,道理也是同樣的:一些數據庫已經使用傳輸 Unicode 的協議,即使沒有,SQLALchemy 或其它 ORM 也會顧及到。 ### 金科玉律 經驗法則:如果你不需要處理二進制數據,請一律使用 Unicode 。在 Python 2.x 中,使用Unicode 意味著什么? - 使用 ASCII charpoints (基本是數字、非變音或非奇特的拉丁字母),你可以使用常規的字符串常量( 'HelloWorld' ) - 如果你的字符串里有 ASCII 之外的東西,需要把這個字符串標記為 Unicode 字符串,方法是加上一個小寫 u 的前綴(比如 u'H?nselundGretel' ) - 如果你在 Python 文件中使用了非 Unicode 字符,你需要告訴 Python 你的文件使用了何種編碼。我再次建議為此使用 UTF-8 。你可以在你 Python 源文件的第一行或第二行寫入 #-*-coding:utf-8-*- 來告知解釋器你的編碼類型。 - Jinja 被配置為從 UTF-8 解碼模板文件,所以確保你的編輯器也保存文件為 UTF-8 編碼。 ### 自行編解碼 如果你的工作環境是一個不真正基于 Unicode 的文件系統之類的話,你需要確保使用 Unicode 接口妥善地解碼。比如,當你想要在文件系統中加載一個文件,并嵌入到 Jinja2 模板時,你需要按照文件的編碼來解碼。這里有一個老問題就是文本文件不指定有效的編碼,所以限定你在文本文件中使用 UTF-8 也是在幫自己的忙。 無論如何,以 Unicode 加載這樣文件,你可以使用內置的 str.decode() 方法: ~~~ def read_file(filename, charset='utf-8'): with open(filename, 'r') as f: return f.read().decode(charset) ~~~ 從 Unicode 轉換成指定的字符集,你可以使用 unicode.encode() 方法: ~~~ def write_file(filename, contents, charset='utf-8'): with open(filename, 'w') as f: f.write(contents.encode(charset)) ~~~ ### 配置編輯器 現在的大多數編輯器默認存儲為 UTF-8 ,但是如果你的編輯器沒有配置為這樣,你需要更改它。這里是設置你編輯器存儲為 UTF-8 的通用做法: - Vim: 在你的 .vimrc 文件中加入 setenc=utf-8 - Emacs: 使用 encoding cookie,或者把這段文字加入到你的 .emacs 配置文件: ~~~ (prefer-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) ~~~ - Notepad++: 1. 打開 *設置 -> 首選項 ...* 1. 選擇“新建”選項卡 1. 選擇“ UTF-8 無 BOM ”作為編碼 同樣也建議使用 Unix 的換行格式,可以在相同的面板中選擇,但不是必須的。 ? 版權所有 2013, Armin Ronacher.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看