最上位ビットに違いがあることが分かった。 「プログラマのための文字コード技術入門」という2010年に購入した本を引っ張り出して軽く眺めてみた。 JISの8ビット符号にはGR領域とGL領域があり、GR領域を使用する場合には第8ビット(最上位ビット)に1をセットして用いるとのこと。 変換できないので「?」にして戻した後、第8ビットに1をセットする変換がされたことにより「ソ」になってしまったのではないかと推測している。 逆疑問符[¿」は「ソ」と同じコードであり、こちらはLatin-1の文字コードが使われたようだ。 ちなみに文字化けについては、環境変数に「NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE」を追加することで解消された。 「ソ」よる文字化け Shift-JISは半角文字と全角文字を表せますが、1文字が何バイトなのかが固定されていないのです。なので「ソ」など2バ
![「ソ」「ソ」による文字化けについて - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/57de0f32a42fff4c9d2123cb1c7938662f7e87fb/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJThDJUVGJUJEJUJGJUUzJTgwJThEJUUzJTgwJThDJUUzJTgyJUJEJUUzJTgwJThEJUUzJTgxJUFCJUUzJTgyJTg4JUUzJTgyJThCJUU2JTk2JTg3JUU1JUFEJTk3JUU1JThDJTk2JUUzJTgxJTkxJUUzJTgxJUFCJUUzJTgxJUE0JUUzJTgxJTg0JUUzJTgxJUE2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1hOTA5OWY1NTdhZWY0MTc0MzNlNjViOWU2ZGYwMDY4ZA%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDB5YWp1JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0zYmIzZjZhZmJiNGJhYmY3YTk4ZDVlMDFmODU2YTQ2OA%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D272ace07f1b510de1d10b266f8435bba)