python編碼

来源:http://www.cnblogs.com/monvxyx/archive/2017/01/11/6272823.html
-Advertisement-
Play Games

一、系統預設編碼 python 2.7版本系統預設編碼是ascii python 3.1版本系統預設編碼是unicode 可以通過內建模塊sys獲取系統預設編碼 import sys print sys.getdefaultencoding() 有兩種方法可以講系統預設編碼變成utf-8 1、在代碼 ...


一、系統預設編碼

python 2.7版本系統預設編碼是ascii

python 3.1版本系統預設編碼是unicode

 

可以通過內建模塊sys獲取系統預設編碼

import sys

print sys.getdefaultencoding()

 

有兩種方法可以講系統預設編碼變成utf-8

1、在代碼第一行加上  # -*- coding:utf-8 -*-

2、通過sys模塊

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

 

二、用decode和encode編碼

幾種常見編碼

  • GB2312編碼:適用於漢字處理、漢字通信等系統之間的信息交換
  • GBK編碼:是漢字編碼標準之一,是在 GB2312-80 標準基礎上的內碼擴展規範,使用了雙位元組編碼
  • ASCII編碼:是對英語字元和二進位之間的關係做的統一規定
  • Unicode編碼:這是一種世界上所有字元的編碼。當然了它沒有規定的存儲方式。
  • UTF-8編碼:是 Unicode Transformation Format - 8 bit 的縮寫, UTF-8 是 Unicode 的一種實現方式。它是可變長的編碼方式,可以使用 1~4 個位元組表示一個字元,可根據不同的符號而變化位元組長度。

碼轉換

Python內部的字元串一般都是 Unicode編碼。代碼中字元串的預設編碼與代碼文件本身的編碼是一致的所以要做一些編碼轉換通常是要以Unicode作為中間編碼進行轉換的,即先將其他編碼的字元串解碼(decode)成 Unicode,再從 Unicode編碼(encode)成另一種編碼。

  decode 的作用是將其他編碼的字元串轉換成 Unicode 編碼,eg name.decode(“GB2312”),表示將GB2312編碼的字元串name轉換成Unicode編碼

  encode 的作用是將Unicode編碼轉換成其他編碼的字元串,eg name.encode(”GB2312“),表示將GB2312編碼的字元串name轉換成GB2312編碼

所以在轉換之前必須先知道name的編碼格式。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 沒時間扯淡類,趕緊上車吧。 在現代社會中,信息安全對於每一個人都是至關重要的,例如我們的銀行賬戶安全、支付寶和微信賬戶安全、以及郵箱等等,說到信息安全,那就必須得提到加密技術,至於加密的一些相關概念,在這裡就不說了。 這一次將會主要講解.NET的加密方式,接下來將會分別介紹散列加密,對稱加密,非對稱 ...
  • 成員的可訪問性 如果沒有顯示聲明成員的可訪問性,編譯器通常預設選擇private。CRL要求介面類型的所有成員都具有public可訪問性。 一個派生類重寫在他的基類型中定義的一個成員時,c#編譯器要求原始成員和重寫成員具有相同的可訪問性。(CRL不需要) 任何成員想要被別人訪問到,都必須在一個可見的 ...
  • 背水一戰 Windows 10 之 控制項(佈局類): Panel, Canvas, RelativePanel, StackPanel, Grid ...
  • 舉個例子: 帶輸入參數的存儲過程計算班級中英語和數學不及格的人數 if(exists(select * from sys.objects where name='usp_GetFailCount')) drop proc usp_GetFailCount go create proc usp_Get ...
  • 前臺用過jquery ajax將值傳遞到 後臺的一般處理程式 並且報了這個異常 原因是:前臺傳遞過來的時間格式不對 需要把 "/"換成 "-" 例如:2017-01-10 ...
  • 分析器錯誤 說明: 在分析向此請求提供服務所需資源時出錯。請檢查下列特定分析錯誤詳細信息並適當地修改 分析器錯誤消息: 未能創建類型“StockManageWebService.Service1”。源錯誤: 行 1: <%@ Page Language="C#" AutoEventWireup="t ...
  • 大家都知道,現在和以前比起來,互聯網行業、軟體行業已經天差地別了。現在處處都在搞信息化建設,人人都知道互聯網思維。這樣的信息化時代,對於軟體開發者、對於軟體開發公司來說,是一個巨大的機遇。 在門外漢看來,軟體開發是機遇大、成本低,只要叫幾個程式員,就能搞出個軟體公司來。但是,事實情況是這個樣子嗎?本 ...
  • 使用Mybatis開發Dao,通常有兩個方法,即原始Dao開發方法和Mapper介面開發方法,常用還是Mapper介面開發。 SqlSession的使用範圍 SqlSession中封裝了對資料庫的操作,如:查詢、插入、更新、刪除等。通過SqlSessionFactory創建SqlSession,而S ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...