我正在處理一個JavaScript前端的應用程序,它可以從服務器接收一串八位字節(暫時我使用php的chr()模擬一些數據)。通過LiveConnect將JavaScript中的二進制數據傳遞到Java小程序
試圖將JavaScript中的數據傳遞到要操縱的小程序中證明是困難的。由於數據的中間字符串可能爲零,因此它看起來會在第一個空值進入時終止。它看起來像是一旦二進制數據觸及JavaScript變量,則編碼會混淆一些字節(或者這可能只是一個問題與我如何顯示它)
無論哪種方式,我有什麼選擇來獲取從服務器發送的二進制數據塊,並將其放入一個Java小程序來操縱。如果我想維護數據的完整性,是否只能轉換爲base64(或其他編碼)?
所有這些對我來說都是新鮮事物,所以希望我能清楚地理解事物。
非常感謝,但是它仍然看起來像我在路上丟失了一些東西。我在js端使用encodeURI()進行編碼(escape()被depricated),並使用java端的URLDecoder進行解碼。根據文檔,它們似乎完美匹配。一個問題字節是0xC0,它被解碼爲ffffffef ffffffbf ffffffbd。有任何想法嗎? – cmjreyes 2010-11-26 19:46:09
它看起來像一旦JavaScript觸及它,我失去了更高的數字字節。如果我從我的測試服務器base64它,它可以處理所有事情,但這不是一種可能性。我得弄清楚別的東西。 – cmjreyes 2010-11-26 21:03:42