C# y los bytes

  • 3 Respuestas
  • 364 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Lafleur212

  • *
  • Underc0der
  • Mensajes: 23
  • Actividad:
    0%
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

C# y los bytes

  • en: Octubre 16, 2019, 05:18:58 pm
Holaa.
Estoy programando en c# y es curioso cómo en ninguno de los 3 libros que he consultado, ni en google, aparece la información que necesito.
Supongamos que tenemos un archivo de texto de solamente 4 caracteres, un "hola", solo eso.
Existe un método o función la cual imprima en pantalla los bytes de ese archivo en binario?
Existen funciones para pasar un texto tecleado a binario, muchas. Pero recoger y leer cada byte de un archivo?

Llevo dias buscando en vano,y me parece extrañisimo que con los miles de funciones en c# que hay publicadas esa no esté....acaso no se puede hacer?
A ver si alguien pudiera arrojar un poco de luz, seria de gran ayuda para mi y probablemente para mas gente. Gracias de antemano
« Última modificación: Octubre 16, 2019, 05:19:34 pm por Gabriela »

Desconectado Bartz

  • *
  • Ex-Staff
  • *****
  • Mensajes: 211
  • Actividad:
    0%
  • Actividad:
    0%
  • Reputación 8
  • ~Afaik~
    • Ver Perfil

Re:C# y los bytes

  • en: Octubre 17, 2019, 09:12:20 am


Con la fuerza del mar, con la paz del rio


Desconectado Lafleur212

  • *
  • Underc0der
  • Mensajes: 23
  • Actividad:
    0%
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • Email

Re:C# y los bytes

  • en: Octubre 17, 2019, 03:24:10 pm
Hola @Bartz y gracias por la contestación.
Pues no exactamente. Ese método lo que hace es leer y escribir de nuevo en un fichero diferente.
Estoy creando un proyecto de cifrado simétrico de algoritmo propio, y para hacerlo efectivo necesito conocer como es cada byte para aplicarle la formula correspondiente, por eso buscaba como imprimirlos en pantalla para visualizarlo,  y así saber como operar por ellos.
Es como guardar cada byte en una variable para darles un tratamiento, y después grabar el archivo resultante byte a byte.

Desconectado Bartz

  • *
  • Ex-Staff
  • *****
  • Mensajes: 211
  • Actividad:
    0%
  • Actividad:
    0%
  • Reputación 8
  • ~Afaik~
    • Ver Perfil

Re:C# y los bytes

  • en: Octubre 17, 2019, 03:34:38 pm
Disculpa, queria pasarte el MemoryStream y te pase el FileStream

https://docs.microsoft.com/en-us/dotnet/api/system.io.memorystream?view=netframework-4.8

Con este lograrias tener dentro de una variable un array de bytes
Nunca trabajé con ese array de bytes mas que en el ejemplo que te dejo a continuación

Código: (csharp) [Seleccionar]
var adjuntosViewModel = new List<AdjuntoViewModel>();
            int? muestraClienteId = logAdjuntoViewModel.MuestraClienteId;

            // Create several Adjunto entities from the list of files received
            foreach (var file in files)
            {
                var fileContent = ContentDispositionHeaderValue.Parse(file.ContentDisposition);
                var fileName = Path.GetFileName(fileContent.FileName.Trim('"'));
                byte[] fileBytes = null;

                using (var ms = new MemoryStream())
                {
                    file.CopyTo(ms);
                    fileBytes = ms.ToArray();
                }

                var adjunto = new AdjuntoViewModel
                {
                    NombreArchivo = fileName,
                    PesoEnDisco = Convert.ToInt32(file.Length / 1024),
                    Archivo = fileBytes,
                    Activo = true
                };

                adjuntosViewModel.Add(adjunto);
            }


Con la fuerza del mar, con la paz del rio