node.jsでUTF8ファイルにBOMを追加するという処理を書きました
BOMというのはFEFFという2バイトのバイナリなので
ファイルに書き込む文字列の先頭に
'\ufeff'
を付加すればいいとネットで知り、そのとおりにやって実際に動作しています
\uを使ってバイナリを書き込むことに関して疑問を持ちました
\uという記法は4桁の16進数でUnicode文字を記述する方法とあります
Unicode文字は「任意のバイナリ」とイコールではないと思いますが、
どうなのでしょうか?
今回はFEFFが偶然unicodeのコードの範囲におさまっていたから問題なく書けたのでしょうか?
それともこの書き方でどんなバイナリデータでも書けるのでしょうか?
だとしたら「Unicode」っていう必要あるか?と思うのですが、どうなのでしょうか?