unicodes tabla simbolos letras consorcio characters unicode base64

tabla - unicode simbolos



Base64ing caracteres Unicode (4)

Base64 convierte el binario en texto. Si desea convertir texto a un formato base64, primero deberá convertir el texto a binario utilizando una codificación adecuada (por ejemplo, UTF-8, UTF-16).

¿Se pueden codificar y decodificar caracteres Unicode con Base64 ?

He intentado codificar la cadena ''الله'', pero cuando decodifiqué todo lo que obtuve fue ''????''.


No especificó qué idioma (s) está utilizando, pero intente convertir la cadena en una matriz de bytes (sin embargo, eso se hace en el idioma que prefiera) y luego base64 codificando esa matriz de bytes.


En .NET puedes probar esto (codificar):

byte[] encbuf; encbuf = System.Text.Encoding.Unicode.GetBytes(input); string encoded = Convert.ToBase64String(encbuf);

... y decodificar:

byte[] decbuff; decbuff = Convert.FromBase64String(this.ToString()); string decoded = System.Text.Encoding.Unicode.GetString(decbuff);


Por supuesto que pueden. Depende de cómo su lenguaje o rutina Base64 maneje la entrada Unicode. Por ejemplo, las rutinas b64 de Python esperan una cadena codificada (como Base64 codifica el texto binario, no los puntos de código Unicode para el texto).

Python 2.5.1 (r251:54863, Jul 31 2008, 22:53:39) [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a = ''ûñö'' >>> import base64 >>> base64.b64encode(a) ''w7vDscO2'' >>> base64.b64decode(''w7vDscO2'') ''/xc3/xbb/xc3/xb1/xc3/xb6'' >>> print ''/xc3/xbb/xc3/xb1/xc3/xb6'' ûñö >>> >>> u''üñô'' u''/xfc/xf1/xf4'' >>> base64.b64encode(u''/xfc/xf1/xf4'') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/base64.py", line 53, in b64encode encoded = binascii.b2a_base64(s)[:-1] UnicodeEncodeError: ''ascii'' codec can''t encode characters in position 0-2: ordinal not in range(128) >>> base64.b64encode(u''/xfc/xf1/xf4''.encode(''utf-8'')) ''w7zDscO0'' >>> base64.b64decode(''w7zDscO0'') ''/xc3/xbc/xc3/xb1/xc3/xb4'' >>> print base64.b64decode(''w7zDscO0'') üñô >>> a = ''الله'' >>> a ''/xd8/xa7/xd9/x84/xd9/x84/xd9/x87'' >>> base64.b64encode(a) ''2KfZhNmE2Yc='' >>> b = base64.b64encode(a) >>> print base64.b64decode(b) الله