У меня есть строка "は い", и я пытаюсь понять, как она представлена в байтах.
Number.prototype.toBits = function () {
let str = this.toString(2);
return str.padStart(8, "0");
}
let ja = "はい";
console.log(ja);
let buf = Buffer.from(ja);
for (const c of buf) {
console.log(c + "=" + c.toBits());
}
производит:
はい
227=11100011
129=10000001
175=10101111
227=11100011
129=10000001
132=10000100
В таблице Unicode символ «は» - 306F, а символ «い» - 3044.
Я понимаю, что ведущий бит «1» говорит, что это Unicode, и что число от 1 до следующего 0 - это число байтов в Unicode. , Я не понимаю, как 306F становится 11100011 10000001 10101111