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 プレフィックスを付けておくことも有効です。
-
Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説
Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial
-
Pythonの文字列操作入門|作成・インデックス・スライス・フォーマットの基本をわかりやすく解説
文字列はPythonにおける最も基本的なデータ型のひとつです。英字・数字・記号など、任意の文字を組み合わせたものが文字列として扱われます。このチュートリアルでは、文字列の作成方法から、インデックスやスライスによる操作、フォーマットの使い方まで、さまざまな場面で役立つ基本操作を体系的に解説します。 Pythonで新しい文字列を作成する Pythonで文字列を作成するのはとても簡単です。シングルクォート()またはダブルクォート()で文字の並びを囲むだけで宣言できます。また、複数行にわたる長い文字列を作りたい場合は、トリプルクォート( または )を使用します。 double_quotes = My