Convertir le tableau de valeurs d'octets en base64 de la chaîne et de briser les longues lignes, Javascript (code de golf)

Cette fonction JavaScript prend un tableau de nombres (dans la plage de 0 à 255) et la convertit en une chaîne base64, puis les pauses longues lignes si nécessaire:

function encode(data)
{
  var str = "";
  for (var i = 0; i < data.length; i++)
    str += String.fromCharCode(data[i]);

  return btoa(str).split(/(.{75})/).join("\n").replace(/\n+/g, "\n").trim();
}

Pouvez-vous faire la même chose en moins de code? Pouvez-vous faire en sorte qu'elle s'exécute plus rapidement? La portabilité de la pas un objet, l'utilisation de la marque de nouvelles fonctionnalités de la langue si vous voulez, mais s 'dois être en JavaScript.

  • S'exécute plus rapidement dans ce navigateur(s)? btoa est uniquement pris en charge par les navigateurs Gecko et WebKit pour autant que je sais.
  • Il se trouve que c'est un très petit morceau de une extension de Firefox, mais si vous avez un moyen astucieux de le faire en utilisant un autre navigateur JS, je serais heureux de voir que, trop.
  • ahem... codegolf.stackexchange.com
  • codegolf.SE est juste pour le divertissement; c'est un réel, légitime problème de programmation.
InformationsquelleAutor zwol | 2011-03-20