導航:首頁 > 編程語言 > 字元的合法性python

字元的合法性python

發布時間:2023-06-30 08:40:51

『壹』 判斷某一個字元串是否是合法十進制小數python

可以使用這樣的演算法
從前向後判斷每一個字元,首字元必須是「+」、「-」或數字字元,
第二個字元開始,後面字元串內的所有字元必須全是數字字元或小數點,
且小數點的個數不多於一個。

『貳』 怎麼在Python里使用UTF-8編碼

概述

在python代碼即.py文件的頭部聲明即可

解析

py文件中的編碼

Python 默認腳本文件都是 ANSCII 編碼的,當文件 中有非 ANSCII 編碼范圍內的字元的時候就要使用"編碼指示"來修正一個 mole 的定義中,如果.py文件中包含中文字元(嚴格的說是含有非anscii字元),則需要在第一行或第二行指定編碼聲明:

# -*- coding=utf-8 -*-

#coding=utf-8

# 以上兩種選其一即可

其他的編碼如:gbk、gb2312也可以;否則會出現:

SyntaxError: Non-ASCII character 'xe4' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

python中的編碼與解碼

先說一下python中的字元串類型,在python中有兩種字元串類型,分別是 str 和 unicode,他們都是basestring的派生類;

str類型是一個包含Characters represent (at least) 8-bit bytes的序列;

unicode 的每個 unit 是一個 unicode obj;

在str的文檔中有這樣的一句話:

    The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file.

也就是說在讀取一個文件的內容,或者從網路上讀取到內容時,保持的對象為str類型;如果想把一個str轉換成特定編碼類型,需要把str轉為Unicode,然後從unicode轉為特定的編碼類型如:utf-8、gb2312等。

拓展內容

utf-8編碼

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,也是一種前綴碼。它可以用來表示Unicode標准中的任何字元,且其編碼中的第一個位元組仍與ASCII兼容,這使得原來處理ASCII字元的軟體無須或只須做少部分修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他存儲或發送文字的應用中,優先採用的編碼。

UTF-8使用一至六個位元組為每個字元編碼(盡管如此,2003年11月UTF-8被RFC 3629重新規范,只能使用原來Unicode定義的區域,U+0000到U+10FFFF,也就是說最多四個位元組):

1、128個US-ASCII字元只需一個位元組編碼(Unicode范圍由U+0000至U+007F)。

2、帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要兩個位元組編碼(Unicode范圍由U+0080至U+07FF)。

3、其他基本多文種平面(BMP)中的字元(這包含了大部分常用字,如大部分的漢字)使用三個位元組編碼(Unicode范圍由U+0800至U+FFFF)。

4、其他極少使用的Unicode輔助平面的字元使用四至六位元組編碼(Unicode范圍由U+10000至U+1FFFFF使用四位元組,Unicode范圍由U+200000至U+3FFFFFF使用五位元組,Unicode范圍由U+4000000至U+7FFFFFFF使用六位元組)。

對上述提及的第四種字元而言,UTF-8使用四至六個位元組來編碼似乎太耗費資源了。但UTF-8對所有常用的字元都可以用三個位元組表示,而且它的另一種選擇,UTF-16編碼,對前述的第四種字元同樣需要四個位元組來編碼,所以要決定UTF-8或UTF-16哪種編碼比較有效率,還要視所使用的字元的分布范圍而定。不過,如果使用一些傳統的壓縮系統,比如DEFLATE,則這些不同編碼系統間的的差異就變得微不足道了。若顧及傳統壓縮演算法在壓縮較短文字上的效果不大,可以考慮使用Unicode標准壓縮格式(SCSU)。

互聯網工程工作小組(IETF)要求所有互聯網協議都必須支持UTF-8編碼。互聯網郵件聯盟(IMC)建議所有電子郵件軟體都支持UTF-8編碼。

『叄』 如何利用Python判斷一個字元串是合法ip

首先給出一個c函數的原型:int sscanf(const char *buffer,const char *format,[argument ]...)它的返回值是參數的數據,也就是argument的個數,buffer:存儲的數據,format:格式控制字元串,argument:選擇性設定字元串。這個程序從標准流讀取數據,可以進行無限制的輸入。下面貼出代碼,然後引出另外一個問題,將字元串ip轉換成整形ip地址。[cpp]
#include<stdio.h
#include<string.h
int main(void){
char str[32];
int a,b,c,d;int ret=0;
while(fgets(str,sizeof(str),stdin)!=NULL){
int len=strlen(str);
str[len]='\0';
ret=sscanf(str,%d.%d.%d.%d,&a,&b,&c,&d);
if(ret==4&&(a=0&&a<=255)&&(b=0&&b<=255)&&(c=0&&c<=255)&&(d=0&&d<=255)){
printf(it is ip!\n);}else
printf(it is not ip!\n);}return 0;}gcc -Wall ip.c -o ip12.3.4.5
下面來引出另外一個問題,在很多情況下,要求把字元串ip轉換成整形ip,這個問題也可以應用sscanf這個函數,首先把四個欄位存儲到a,b,c,d四個變數當中去,然後進行移位運算,因為ip地址是32位的,而且是無符號整形變數,所以可以應用unsigned int 來存儲. unsinged int ip=(a<<24)+(b<<16)+(c<<8)+d。

『肆』 python解釋xml文件遇到不合法字元,如何解決

python ElementTree處理gbk(或者gb2312)編碼的XML文件的方法:
1,py文件的編碼是utf-8,即在文件最開始有如下語句聲明編碼方式:
#-*-coding: utf-8-*-

2,讀取文件內容時轉碼為utf-8的:
xml_file_text = open(xml_file_name).read().decode('gbk').encode('utf-8')
這樣在處理過程中均是utf-8編碼的字元串

『伍』 關於python的問題

這里有兩個知識點:

1、切片,比如有一個字元串:name = 'abcdef',那麼在內存中存儲如圖

取e 是 name[4]或者name[-2]

取ef 是 name[:-2]或者name[:4]

取bc 是name[1:3]或者name[-5:-3] ,需要注意的是,「:」後面取的閉包,也就是不包括本身,這個例子里name[3]的 d是不包括的。

那麼path[:-4]就好理解了,就是取字元串開頭到 -4位置的字元串'c: est.',不包括'h'。

2、轉移字元

python系統中,如果在字元串中使用了一些特殊字元,比如換行、換行、tab製表符等等,還有一些特殊意義的字元,像「 號,『號,需要在字元前面加上「」。即轉義符,通俗的說,就是「」後面的那個字元,不是字元原本的意思了,它代表了另一個字元。

比如常用到的 是代表換行, 是製表符。

但是有時候我們的字元串中,號就是它本身的意思,不作為轉義符,比如題目路徑中的中的號。這個時候就要在字元串前面加上一個'r',告訴系統,字元串裡面的 號,不是轉義符。

所以,你的題目答案就是 c: est.htm

當然,如果題目沒有「r」,也就是 path='c: est.html' 那麼答案就變成了 c: est.htm , 做為了一個製表符處理。

閱讀全文

與字元的合法性python相關的資料

熱點內容
安卓手機電話簿怎麼導出到蘋果手機 瀏覽:763
php實現投票 瀏覽:333
手機爆力解壓加密視頻文件 瀏覽:932
東方財富app怎麼看北上資金圖解 瀏覽:418
邢昭林程序員那麼可愛拍現場 瀏覽:169
安卓什麼應用可以免費看電視劇 瀏覽:504
合適pdf 瀏覽:293
app監測睡眠怎麼選擇 瀏覽:642
老人家用什麼安卓手機好 瀏覽:955
解壓包能不能送女朋友 瀏覽:701
好看發卡網源碼 瀏覽:51
水平集演算法matlab 瀏覽:769
區域網如何用ftp伺服器配置 瀏覽:74
程序員慣性思考模式 瀏覽:441
如何在個稅app上查身份證號 瀏覽:7
電視家app安裝在電視上怎麼安 瀏覽:889
怎麼將pdf格式轉化為圖片格式 瀏覽:639
伺服器拔掉raid卡怎麼裝系統 瀏覽:234
區域對稱加密演算法 瀏覽:247
數字轉漢字php 瀏覽:735