http://en.wikipedia.org/wiki/Byte_order_mark. en resumen, trata de una serie de bytes para identificar el orden de los bytes cuando un carácter ocupa dos o más bytes. por ejemplo, en utf-16 tiene dos modos: big endian y little endian. por tomar un ejemplo, la letra ñ en modo big endian se codifica como 0x00 0xF1. sin embargo, en little endian la misma letra se codifica con la secuencia 0xF1 0x00.