Je cherchais une alternative à Je viens de trouver Ce lien qui ne fonctionne pas pour les caractères internationaux et n'inclut pas la fonction de décodage. P>
Ici, il y a en ligne décodeur / Encodeur . P>
même trouvé codes en langage c 't avoir assez de connaissances de traitement de données JS à convertir). P>
et quelque Codes que je Je ne sais pas comment courir. P>
J'ai entendu dire que Quelqu'un sait-il quelque chose sur merci p> base64 code> qui fonctionne bien sur les caractères Unicode. J'ai trouvé
ascii85 code> qui fonctionne bien, mais je n'ai trouvé aucun code ni commande en faisant cela dans
JS code>. P>
jQuery code> prend en charge
base64 code> mais il semble ne pas prendre en charge
ASCII85 code>. P>.
ascii85 code> dans JS qui pourrait aider? P>
3 Réponses :
Utilisation de dojo.js framework:
Exemple de décodage + source p>
Résumé: P> dojo.require("dojox.encoding.ascii85");
var dc = dojox.encoding
var buf = dc.ascii85.decode("")
var a85 = dc.ascii85.encode("");
C'est la même chose que ce que j'ai mentionné dans L'un des Liens . Mais comment l'utiliser?
Il semble que votre exemple concerne l'entité HTML codant et non ASCII85!
Vous êtes vrai, c'est-à-dire comment utiliser le codage en général Voir ce lien qu'il a utilisé le même cadre (il utilisé en codant pour ASCII85) Bitbucket.org/crisu83/invaders/src/e49Caaad10eb/js/lib/dojox / ...
Pure JavaScript p> function encode_ascii85(a) {
var b, c, d, e, f, g, h, i, j, k;
for (!/[^\x00-\xFF]/.test(a), b = "\x00\x00\x00\x00".slice(a.length % 4 || 4), a += b,
c = [], d = 0, e = a.length; e > d; d += 4) f = (a.charCodeAt(d) << 24) + (a.charCodeAt(d + 1) << 16) + (a.charCodeAt(d + 2) << 8) + a.charCodeAt(d + 3),
0 !== f ? (k = f % 85, f = (f - k) / 85, j = f % 85, f = (f - j) / 85, i = f % 85,
f = (f - i) / 85, h = f % 85, f = (f - h) / 85, g = f % 85, c.push(g + 33, h + 33, i + 33, j + 33, k + 33)) :c.push(122);
return function(a, b) {
for (var c = b; c > 0; c--) a.pop();
}(c, b.length), "<~" + String.fromCharCode.apply(String, c) + "~>";
}
function decode_ascii85(a) {
var c, d, e, f, g, h = String, l = "length", w = 255, x = "charCodeAt", y = "slice", z = "replace";
for ("<~" === a[y](0, 2) && "~>" === a[y](-2), a = a[y](2, -2)[z](/\s/g, "")[z]("z", "!!!!!"),
c = "uuuuu"[y](a[l] % 5 || 5), a += c, e = [], f = 0, g = a[l]; g > f; f += 5) d = 52200625 * (a[x](f) - 33) + 614125 * (a[x](f + 1) - 33) + 7225 * (a[x](f + 2) - 33) + 85 * (a[x](f + 3) - 33) + (a[x](f + 4) - 33),
e.push(w & d >> 24, w & d >> 16, w & d >> 8, w & d);
return function(a, b) {
for (var c = b; c > 0; c--) a.pop();
}(e, c[l]), h.fromCharCode.apply(h, e);
}
var myString='This is a test!';
var encoded=encode_ascii85(myString);
var decoded=decode_ascii85(encoded);
document.write(decoded);
Vous pouvez utiliser mon JavaScript ASCII85 (base85) qui peut fonctionner à la fois avec des tableaux d'octets et des chaînes p>
Ajoutez une plus de plus descriptions ici
La question est de savoir pourquoi avez-vous besoin de base64 pour commencer et pourquoi l'UFT-8 n'est-elle pas assez bonne?
Quel est le problème avec UTF-8? Ou tout codage standard?
J'utilise ASCII85 pour ne pas laisser un accès direct à une matrice à chaîne. C'est mieux que l'obfuscation. Ce n'est pas un problème de sécurité, mais la question des droits de données.