In 함수는 두 배로 변환됩니다.float to byte (JavaScript)
function writebyte(id, data)
{
data = Math.floor(data);
buf[id] = String.fromCharCode(data & (255));
}
0-127 값으로 작동합니다. 그러나 부정적인 또는> 127 작품 잘못.
128 = 0xC2 0x80 (should be 0x80 1 byte)
-1 = 0xC3 0xBF (should be 0xFF 1 byte)
그래서 문제는 기능이이고 매개 변수가 128 ++ 또는 음수라고 생각합니다.
String.fromCharCode없이 직접 배열에 바이트를 쓰는 방법이 있습니까?
또한 MSB가 -128의 역할을하는 2 진 보수 바이너리로 음수를 나타냅니다. 너는 둘 다 할 수 없다 ... –
나는 이해하지 못한다. 내가 왜 둘 다 할 수없는거야? -1 == 255 == 0xFF -2 == 254 == 0xFE. buf websocket 프로토콜에 의해 전송됩니다. 만약 내가 -1 또는 255이 함수에 첫 번째 바이트 0xFF (예를 들면) – Demion
될 것이라고 전송하고 싶습니다 그리고 어떻게 표현 128 무엇입니까? –