codificacion base64_decode array c# encoding utf-8 base64

c# - base64_decode - Convierta UTF-8 a cadena base64



string to base64 c# (1)

Estoy tratando de convertir UTF-8 en cadena base64 .

Ejemplo: Tengo "abcdef ==" en UTF-8 . De hecho, es una "representación" de una cadena base64 .

¿Cómo puedo recuperar una cadena de base64 "abcdef ==" (tenga en cuenta que no quiero una "abcdef ==" "traducción" de UTF-8 , quiero obtener una cadena codificada en base64 que es "abcdef ==" )

EDITAR
Como mi pregunta parece no estar clara, he aquí una reformulación:

Mi matriz de bytes (digamos que la nombro A) está representada por una cadena base64 . Convertir A a base64 me da "abcdef ==".

Esta representación de cadena se envía a través de un socket en UTF-8 (tenga en cuenta que la representación de cadena es exactamente la misma en UTF-8 y base64). Entonces recibo un mensaje UTF-8 que contiene "whatever / abcdef == / whatever" en UTF-8.

Así que necesito recuperar la cadena base64 "abcedf ==" de este mensaje de socket para obtener A.

¡Espero que esto esté más claro!


Es un poco difícil decir lo que estás tratando de lograr, pero suponiendo que estás tratando de obtener una cadena de Base64 que cuando se decodifica sea abcdef== , lo siguiente debería funcionar:

byte[] bytes = Encoding.UTF8.GetBytes("abcdef=="); string base64 = Convert.ToBase64String(bytes); Console.WriteLine(base64);

Esto generará: YWJjZGVmPT0= que está abcdef== codificado en Base64.

Editar:

Para decodificar una cadena de Base64, simplemente use Convert.FromBase64String() . P.ej

string base64 = "YWJjZGVmPT0="; byte[] bytes = Convert.FromBase64String(base64);

En este punto, los bytes serán un byte[] (no una string ). Si sabemos que la matriz de bytes representa una cadena en UTF8, entonces se puede convertir de nuevo a la forma de cadena usando:

string str = Encoding.UTF8.GetString(bytes); Console.WriteLine(str);

Esto generará la cadena de entrada original, abcdef== en este caso.