📝全角英数字を半角に変換2021/07/01に公開1件PythontechGitHubで編集を提案Discussionbilzard2022/06/20C形式とD形式は見た目からは違いが分からないようです。 以下のコードスニペットのようにバイナリで表現すると判別出来ました。 (C形式はアクセント文字を1つの文字として保持しているのに対し、D形式は元の文字とアクセントの2文字として保持しているようです) import pandas as pd import unicodedata as ud df = pd.DataFrame({"text": ["é"]}) df["text"] = df["text"].apply(lambda x: ud.normalize("NFKD", x)) df["text"].apply(lambda x: x.encode()).head(1).item() NFKD -> b'e\xcc\x81' NFKC -> b'\xc3\xa9' 返信を追加
bilzard2022/06/20C形式とD形式は見た目からは違いが分からないようです。 以下のコードスニペットのようにバイナリで表現すると判別出来ました。 (C形式はアクセント文字を1つの文字として保持しているのに対し、D形式は元の文字とアクセントの2文字として保持しているようです) import pandas as pd import unicodedata as ud df = pd.DataFrame({"text": ["é"]}) df["text"] = df["text"].apply(lambda x: ud.normalize("NFKD", x)) df["text"].apply(lambda x: x.encode()).head(1).item() NFKD -> b'e\xcc\x81' NFKC -> b'\xc3\xa9' 返信を追加
Discussion
C形式とD形式は見た目からは違いが分からないようです。
以下のコードスニペットのようにバイナリで表現すると判別出来ました。
(C形式はアクセント文字を1つの文字として保持しているのに対し、D形式は元の文字とアクセントの2文字として保持しているようです)