>>846
>>842 には UTF-8 と書いてあるんだけど、なんでバイト列としての 0xFF, 0xFE が
出てきて、それを ZERO WIDTH SPACE/BOM と言っているのか、チト不明。

#単に 0xFE, 0xFF の打ち間違いかもしれんが…

U+FEFF なら ZERO WIDTH NO-BREAK SPACE で、UTF-16 での BOM にも使う。
UTF-16 のリトルエンディアンなら実際のオクテット(バイト)列は 0xFE, 0xFF、ビック
エンディアンなら 0xFF, 0xFE となって、BOM としての文字通りバイトオーダーを知る
ための目印でもある。

UTF-8 でいわゆる BOM と呼ばれているものは、当然バイトオーダーを知るための
目的はなくて、単に UTF-8 の自動認識の為にあるようなもの(付いてる、付いてないで
それぞれ問題が起きることは周知ではある)。
で、UTF-8 の BOM は 0xEF, 0xBB, 0xBF というバイト列で、これは U+FFFE という
(≠U+FEFF/ZERO WIDTH NO-BREAK SPACE) Unicode(UCS)で定義されてない
コードを UTF-8 風にエンコードしたものを使っている。