UTF-8

概要

UTF-8はUNICODEを演算を行いASCII互換にしたものです。1文字は1バイトから3バイトになります。複数バイトであらわされる文字のすべてのバイトは80h以上になり、2バイト目以降は1バイト目になりうる値になることはありません。

実装

SHIFT_JISへ変換

UTF-8を下記の方法でUNICODEに変換します。UNICODEからSHIFT_JISへの変換はWindowsのAPIを用いて行います。なお、ファイルの最後でバイト数が足りないときには、その1バイトを上位バイトを0として2バイトに拡張します。

SHIFT_JISから変換

SHIFT_JISからUNICODEへのWindowsのAPIを用いて行います。UNICODEを下記の方法でUTF-8に変換します。

判別

ファイルを先頭から解析して、下記の条件をすべて満たすときにはUTF-8と判定します。


戻る