Python中文字串擷取問題

2022-09-29 12:57:10 字數 610 閱讀 4034

先來看個例子程式設計客棧:程式設計客棧

#-*- coding:utf8 -*-

s = u'中文擷取'

s.decode('utf8')[0:3].encode('utf8'www.cppcns.com)

# 結果u'中文擷取

延伸閱讀:

utf-8中的漢字占用多少位元組?

佔2個位元組的:〇

佔3個位元組的:基本等同於gbk,含21000多個漢字

佔4個位元組的:中日韓超大字符集裡面的漢字,有5萬多個

乙個utf-8數字佔1個位元組

乙個utf-8英文本母佔1個位元組

在查詢 utf-8 編碼資料時發現,很多的帖子說的 utf-8 編碼裡,乙個漢字占用3個位元組,有的還做了個證明,大概是這樣的,建立乙個沒有bom的utf-8編碼的文字檔案,裡面儲存了幾個漢字,然後檢視檔案的大小。我覺得這樣的證明沒有一點說服力,因為 utf-8 是變長的,1-6個位元組,少量的漢字檢測是不能說明所有的漢字都是的。

後來我又檢視了字元對映表-漢語,找到了正確的答案,少數是漢字每個占用3個位元組,多數占用4個位元組。

本文標題: python中文字串擷取問題

本文位址: /jiaoben/python/126455.html

Python擷取中文字串

在gbk編碼下,請編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串,但是要保證漢字不被截半個,同時忽略字串中的數字後輸出最終結果 coding gbk import re deffunc s,length g join re.findall r d s 這裡也可以用g fi...

含有中文字串的擷取問題!

問題 字串 music 美麗的草原我的家 該字串的長度即str.length 為 17,而目前需要存入資料庫對應的字段長度為 16。所以必須對字串進行擷取。而前16個位元組中,原 字只有半個。這樣存入資料庫確對會出現 所以必須判斷是否是半個漢字,即只能存入 music 美麗的草 分析 漢字是雙位元組...

解決PHP擷取中文字串問題

php擷取字串如果是英文那很好辦,直接用substr就行了,一般不會出現亂碼.中文就有點麻煩了.下面給出兩種解決辦法 一 直接使用multi byte函式庫的mb substr 函式就行了,例項 如下 php echo mb substr str start length encoding echo...