Je travaille sur une application avec un front-end javascript qui peut recevoir un tas d'octets du serveur (pour l'instant j'utilise ph (ph) chr() pour simuler certaines données).Transférer des données binaires de Javascript dans une applet Java via LiveConnect
Essayer de transmettre les données de javascript dans une applet à manipuler s'avère difficile. Comme les données peuvent avoir des valeurs nulles à mi-chaîne, on dirait qu'elles se terminent à la première entrée. Une fois que les données binaires touchent une variable javascript, l'encodage est affecté par certains octets (ou c'est peut-être un problème) de quelle façon je l'affiche)
Quoi qu'il en soit, quelles options ai-je pour prendre un bloc de données binaires, envoyé par un serveur et le mettre dans une applet Java à manipuler. Est-ce qu'une conversion en base64 (ou un autre encodage) est ma seule option si je veux maintenir l'intégrité des données?
Tout cela est nouveau pour moi, alors j'espère avoir bien compris.
Merci pour cela, mais il semble encore que je perds des choses en route. Je suis en train de coder avec encoderURI() du côté js (escape() est déprécié) et de décoder avec un URLDecoder du côté java. Selon les docs, ils semblent parfaitement correspondre. Un octet de problème est 0xC0, qui est décodé comme ffffffef ffffffbf ffffffbd. Des idées? – cmjreyes
Il semble qu'une fois que Javascript le touche, je perds ces octets de nombre plus élevé. Si je le base64 à partir de mon serveur de test, il est très bien dans tout, mais ce n'est pas une possibilité. Je vais devoir trouver autre chose. – cmjreyes
Eh bien, JavaScript utilise UTF16, vous devrez manuellement manipuler 'charCodeAt'. Ou essayez un peu de codage UTF8 comme 'encoderURI (escape (String.fromCharCode (" ... ")))' et inverser 'unescape (decodeURI (String.fromCharCode (" ... ")))' –