ホームページ  >  記事  >  バックエンド開発  >  中国語文字列を含むインターセプト関数の Python 実装例

中国語文字列を含むインターセプト関数の Python 実装例

黄舟
黄舟オリジナル
2017-09-23 11:05:002097ブラウズ

この記事では、主に Python の中国語文字列インターセプト関数の実装を紹介し、具体的な例に基づいて utf-8 および gb18030 エンコーディングに対する Python の中国語文字列インターセプト操作の関連実装スキルを分析します。この記事では、Python が中国語文字列のインターセプト関数を実装する方法について説明します。詳細は次のとおりです。

マルチバイトを含む文字列の場合、切り捨てポイントで文字が何バイトになるかを決定する必要があります。切り捨て後の文字化けを回避します

以下は utf8 と gb18030 の実装です。最初にトランスコードし、エンコードとデコードを使用できます。

utf8 の場合:方法 2: gb18030 コーディングの場合

def subString(string,length):
  if length >= len(string):
        return string
  result = ''
  i = 0
  p = 0
  while True:
        ch = ord(string[i])
        #1111110x
        if ch >= 252:
            p = p + 6
        #111110xx
        elif ch >= 248:
            p = p + 5
        #11110xxx
        elif ch >= 240:
            p = p + 4
        #1110xxxx
        elif ch >= 224:
            p = p + 3
        #110xxxxx
        elif ch >= 192:
            p = p + 2
        else:
            p = p + 1
        if p >= length:
            break;
        else:
            i = p
  return string[0:i]

以上が中国語文字列を含むインターセプト関数の Python 実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。