BOMっていうのはファイルにしか存在しないものだよ。

BOM付きの文字列を半分に分けたらどうする?
前半の文字列にはBOMがついて、
後半の文字列にはBOMがついてない?
それともわざわざ付けると思う?

BOMが存在するのは外部リソースのみ
それをUNICODE文書として読み取った時、
BOMは消さないといけない。

だから、APIに渡す文字列がBOM無しなのはアタリマエのこと。