Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのUnicode文字列とは?uプレフィックスの使い方をわかりやすく解説

Pythonでは、通常の文字列は内部的に8ビットのASCIIとして保存されます。一方、Unicode文字列は16ビットのUnicodeとして保存され、世界中のほとんどの言語に含まれる特殊文字など、より多様な文字セットを扱うことができます。

ここでは、Unicode文字列の基本的な使い方について、以下のポイントに絞って解説します。

Unicode文字列の基本

PythonでUnicode文字列を定義するには、文字列の前に u プレフィックスを付けます。これは、raw文字列(エスケープシーケンスを無効化する文字列)に r プレフィックスを付けるのと同じ考え方です。

サンプルコード

#!/usr/bin/python
print u'Hello, world!'

実行結果

上記のコードを実行すると、次のような出力が得られます。

Hello, world!

このように、Unicode文字列には u プレフィックスを使用します。日本語などのマルチバイト文字を扱う場合にも、この形式が役立ちます。

print u'こんにちは、世界!'

Python 3での注意点

なお、u プレフィックスによる明示的な指定が必要なのはPython 2までです。Python 3では、すべての文字列(str 型)がデフォルトでUnicodeとして扱われるため、u プレフィックスを付けなくてもUnicode文字列として動作します。ただし、Python 2と3の両方に対応したコードを書く場合は、互換性のために u プレフィックスを付けておくことも有効です。

  1. Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説

    Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial

  2. Pythonの文字列操作入門|作成・インデックス・スライス・フォーマットの基本をわかりやすく解説

    文字列はPythonにおける最も基本的なデータ型のひとつです。英字・数字・記号など、任意の文字を組み合わせたものが文字列として扱われます。このチュートリアルでは、文字列の作成方法から、インデックスやスライスによる操作、フォーマットの使い方まで、さまざまな場面で役立つ基本操作を体系的に解説します。 Pythonで新しい文字列を作成する Pythonで文字列を作成するのはとても簡単です。シングルクォート()またはダブルクォート()で文字の並びを囲むだけで宣言できます。また、複数行にわたる長い文字列を作りたい場合は、トリプルクォート( または )を使用します。 double_quotes = My