shift-jisでreplaceしたい

文字列をShift-JISエンコーディングでエンコードする際にエラーが発生した場合、代わりに特定の文字列を置き換えたいということでしょうか。例えば、非ASCII文字を置き換える必要がある場合などが考えられます。

以下は、文字列をShift-JISエンコーディングでエンコードする際に、非ASCII文字を指定された文字列で置き換える方法です。

python
def encode_shift_jis(text, replace_char='?'): try: return text.encode('shift-jis') except UnicodeEncodeError: return text.encode('shift-jis', errors='replace').decode('shift-jis').replace('?', replace_char) # テキストをShift-JISエンコーディングでエンコードする encoded_text = encode_shift_jis("日本語文字列") # ファイルに書き込むなど、エンコードされた文字列を利用する with open('output.txt', 'wb') as f: f.write(encoded_text)

この例では、encode_shift_jis関数を使用して文字列をShift-JISエンコーディングでエンコードしています。encodeメソッドのerrorsパラメータを使用して、非ASCII文字が見つかった場合に?で置き換えるように設定しています。また、replace_charパラメータを指定することで、置き換える文字をカスタマイズすることができます。

未分類

Posted by ぼっち