← チェッカーへ戻る

波ダッシュ「〜」と全角チルダ「~」の違い

日本語の範囲、期間、長音のような表現に使われる「〜」と「~」は、フォントによってほとんど同じ形に見えます。しかし、Unicodeでは別の文字です。検索、データ照合、文字コード変換、ファイル名比較では同じ文字として扱われません。

表示コードポイントUnicode名
U+301CWAVE DASH
U+FF5EFULLWIDTH TILDE
~U+007ETILDE

なぜ文字化けや置き換わりが起きるのか

JIS、Shift_JIS、MicrosoftのCP932、Unicodeの間では、歴史的に波形記号の対応付けが一致しない場面があります。同じバイトをUnicodeへ変換しても、使用する変換表によってU+301CまたはU+FF5Eになることがあります。その結果、変換前後で文字が入れ替わったように見えたり、往復変換で元に戻らなかったりします。

ブラウザのWHATWG Encoding準拠shift_jisは、Web上で互換性を持たせるためWindows系の挙動を取り込みます。厳密なJISの話と、Windowsアプリケーションで実際に扱われるCP932の話を分けて考える必要があります。

実務で問題になりやすい場面

安全な対応

受け取り側がUTF-8に対応するなら、文字を意図どおり選び、UTF-8のまま渡すのが基本です。CP932指定がある場合は、受け取り側が「〜」と「~」のどちらを想定しているかを確認してください。NFKC正規化は表記をまとめることがありますが、文章の意味やシステム仕様に合うとは限らないため、一律に実行しない方が安全です。

見た目では判定しない

コピーしてチェッカーへ貼り付けると、U+301CとU+FF5Eをコードポイント付きで区別できます。

参考資料

最終確認日:2026年7月23日