2025/10/22(水) [n年前の日記]
#1 [windows] Windows11のメモ帳で少しハマった
Windows11 x64 25H2上のメモ帳(notepad)で、少しハマった。メモ帳で新規作成したテキストファイル内に日本語文字列を打ち込んでみたら UTF-8 で保存されて…。てっきり SJIS になるのかと思い込んでいたけれど、いつから UTF-8 がデフォルトになっていたんだろう…? 今までWindows上でテキストファイルを作成する時は、別途自分でインストールしたテキストエディタを使って編集していたので、メモ帳がこういう仕様になっていたことに気づかなかった。
_メモ帳の文字コード既定値がUTF-8に、Windows 10「May 2019 Update」(3ページ目) | 日経クロステック(xTECH)
Windows10 1903 の時点でデフォルトの文字コードが UTF-8 になってたのか…。自分、ずっと気づいてなかった…。
SJISで保存し直せないかと別名保存を選んでみたら、文字コードのリストの中に SJIS が無い…。ANSI や UTF-8 はあるけれど…。嘘だろ…。SJIS 使えないのかよ…。
ググってみたら、notepad は ANSI で保存すると SJIS になるらしい。なんじゃそりゃ。どうして ANSI と表記しているんだ…。
_【Windows10/11】メモ帳の文字化けの直し方:文字コードを変換する | OFFICE54
_メモ帳で文字コードをShift-JISやUTF-8に変換する方法 | 情シスの自由帳
_メモ帳の文字コード既定値がUTF-8に、Windows 10「May 2019 Update」(3ページ目) | 日経クロステック(xTECH)
Windows10 1903 の時点でデフォルトの文字コードが UTF-8 になってたのか…。自分、ずっと気づいてなかった…。
SJISで保存し直せないかと別名保存を選んでみたら、文字コードのリストの中に SJIS が無い…。ANSI や UTF-8 はあるけれど…。嘘だろ…。SJIS 使えないのかよ…。
ググってみたら、notepad は ANSI で保存すると SJIS になるらしい。なんじゃそりゃ。どうして ANSI と表記しているんだ…。
_【Windows10/11】メモ帳の文字化けの直し方:文字コードを変換する | OFFICE54
_メモ帳で文字コードをShift-JISやUTF-8に変換する方法 | 情シスの自由帳
[ ツッコむ ]
#2 [python] Pythonで文字コード判定
先日からPythonを利用して作成していたツールが大体出来上がってきたので、親父さん用PCにコピーして動作確認してみたのだけど。Windows11 x64 25H2 のメモ帳で作成したテキストファイルを読み込んだらエラーが出てしまった。
Windows上のテキストファイルと言えばどうせデフォルトでSJISになってるんだろうと決めつけて書いていたので…。メモ帳でテキストファイルを作成するとデフォルトでは UTF-8 になるなんて知らなかった…。
Pythonでテキストファイル内の文字コード判別ってどうすればいいのか…。chardet なるパッケージが使えるみたいだけど、それって別途インストールが必要なのだろうか。
_Pythonでファイルのエンコーディングを判定する
_【Python】ファイルの文字コードを自動判定して変換する #Python - Qiita
_[解決!Python]テキストファイルのエンコーディングを調べて、その内容を読み込むには(chardetパッケージ):解決!Python - @IT
_Python: chardet でテキストファイルの文字コードを検出する - CUBE SUGAR CONTAINER
_pythonのchardetにて文字コード判別がNoneになる。
試してみたところ、UTF-8 で書かれたテキストファイルは正しく判定してくれるけれど、SJIS で書かれたテキストファイルは判定結果が None になってしまった。どうやら数文字程度の SJIS では判定に失敗するらしい。
とりあえず、文字コード判定が None になった時は CP932 で決め打ちして処理してしまうことにした。どうせ Windows11上で作成するテキストファイルなんて UTF-8 か SJIS のどちらかしかないだろうし…。
Windows上のテキストファイルと言えばどうせデフォルトでSJISになってるんだろうと決めつけて書いていたので…。メモ帳でテキストファイルを作成するとデフォルトでは UTF-8 になるなんて知らなかった…。
Pythonでテキストファイル内の文字コード判別ってどうすればいいのか…。chardet なるパッケージが使えるみたいだけど、それって別途インストールが必要なのだろうか。
_Pythonでファイルのエンコーディングを判定する
_【Python】ファイルの文字コードを自動判定して変換する #Python - Qiita
_[解決!Python]テキストファイルのエンコーディングを調べて、その内容を読み込むには(chardetパッケージ):解決!Python - @IT
_Python: chardet でテキストファイルの文字コードを検出する - CUBE SUGAR CONTAINER
_pythonのchardetにて文字コード判別がNoneになる。
試してみたところ、UTF-8 で書かれたテキストファイルは正しく判定してくれるけれど、SJIS で書かれたテキストファイルは判定結果が None になってしまった。どうやら数文字程度の SJIS では判定に失敗するらしい。
とりあえず、文字コード判定が None になった時は CP932 で決め打ちして処理してしまうことにした。どうせ Windows11上で作成するテキストファイルなんて UTF-8 か SJIS のどちらかしかないだろうし…。
[ ツッコむ ]
以上、1 日分です。