Estoy empezando a analizar algunos conceptos de programación de red para un proyecto que estoy a punto de asumir, y sigo encontrándome con este concepto de cadena de octetos. ¿Puede alguien por ahí brindar retroalimentación sobre qué es esto y cómo se relaciona con la programación de la red?Octet String: ¿Qué es?
Respuesta
"Octeto" es estándar para "byte de 8 bits". Se supone que es un término menos ambiguo en comparación con solo "byte", porque algunas plataformas tienen bytes de ancho diferente (no estoy seguro de si aún quedan algunas, pero solían existir).
Un grupo de 8 bits en una computadora se denomina octeto. Un byte es el mismo para la mayoría de los propósitos prácticos, pero no equivale a 8 bits en todas las arquitecturas de computadora. Más información se puede encontrar aquí .. Link
Octet
es el término para mencionar datos de 8 bits en la computadora. Byte
es el término para mencionar la cantidad de bits necesarios para codificar un carácter de cadena en la computadora.
Octet
es siempre de 8 bits. Pero el tamaño Byte
varía según el hardware. La mayor parte del sistema admite la forma ASCII de codificar cadenas. En esas máquinas Byte
el tamaño es de ocho bits. Algunos de los hardware compatibles con Unicode usan 16bits como uno Byte
.
Suponga una representación de binario 00000000 a 11111111 como 0x00 a 0xFF en hexadecimal. Entonces el octetString es simplemente 00 a FF.
La combinación de varios octetos en una cadena es como 0x00 0x01 0x02 ... o simplemente 000102 .. como una cadena de octetos.
Los archivos binarios se pueden codificar en cadenas de octetos y enviar desde un webbclient a un servidor en forma de cadena ASCII que contiene el alfabeto 0-F, como a8b9457fc6e3e410589f o sus mayúsculas. Hay javascript usando la codificación BASE-64 utilizada para almacenar imágenes en Strings. El alfabeto más grande, en este caso (creo) A-Z, a-z, 0-9, es necesario transferir menos datos. cada octeto tiene 256 valores posibles diferentes, y se almacenan en un alfabeto de 62 letras, claramente se necesita usar más de una letra/octeto. Posiblemente el número teórico es proporcional a log62 (256). La conclusión es que la legibilidad mejorada requiere más espacio que su versión binaria, en el ejemplo octetstream es el doble de tiempo ya Bastante ineficiente.
Una secuencia de longitud variable de octetos, como en la Notación de sintaxis abstracta uno (ASN.1), se conoce como cadena de octetos.
cadena de octetos:
es la representación de la información en el modo limitada de 8 bits. Durante la transferencia de los datos desde un punto de dispositivo electrónico a otro punto del dispositivo o cualquier otro dispositivo, debe convertirlos en un paquete de tamaño mínimo. Por lo tanto, se usa para dividir los datos principales en pequeños y comprensibles para el sistema.por ejemplo: Así que el número entero 2680, en binario 101001111000 se convertirá en ese formato de 7 bits como sigue:
Remaining integer-------------------encoded bytes
101001111000------------------------
10100-------------------------------01111000
0-----------------------------------11111000
& 00010100
Qué se representa como (120) (20) por separado como decimal. entonces la brecha 120 por 16 una tienda como resultado = 7 & recordatorio = 8 de nuevo dividir 20 por 16 de una tienda como resultado = 1 & recordatorio = 4
la nueva forma del número es 0x78 + 0x14
aquí 78 & 14 son cadenas de octetos.
codificarlos a fase normal: ((16 * 7) 8) * 128^0 + ((16 * 1) 4) * 128 = 2680^1
Creo que es el mejor explicación, pero aún estoy buscando más al respecto. Por favor, ayúdame a aprender sobre los alfabetos. Creo que depende de su valor ASCII.
- 1. Decodificar un DER OCTET STRING ASN.1 con OpenSSL
- 2. ¿Qué es "String ..." en java?
- 3. Buffer vs String speed: ¿Por qué String es más rápido?
- 4. ¿Por qué String es una clase?
- 5. ¿Qué es la Acción <string>?
- 6. ¿Qué es la lista [String ~ Int]?
- 7. ¿Por qué la clase String es definitiva?
- 8. Java: ¿Es confiable assertEquals (String, String)?
- 9. ¿Qué significa string :: npos
- 10. ¿Por qué no es std :: string :: max_size() == std :: string :: allocator :: max_size()
- 11. ¿Qué es diferente entre los archivos Dim() Como archivos String y Dim As String()?
- 12. ¿Por qué es necesario llamar explícitamente a Myclass :: operator string() con std :: string :: operator +()?
- 13. ¿Por qué es necesario String [] args en Java?
- 14. ¿Por qué no es privado el constructor de String()?
- 15. ¿Qué es "String args []"? parámetro en el método principal Java
- 16. ¿Para qué es "string [] args" en Main class?
- 17. ¿Por qué sizeof (string) == 32?
- 18. ¿Por qué mi comparación String to String falla?
- 19. ¿Qué tiene más sentido: char * string o char * string?
- 20. ¿Por qué funciona String (null)?
- 21. ¿Qué significa [String] en VB.NET?
- 22. ¿Qué excepciones podría lanzar string = string además de System.OutOfMemoryException?
- 23. ¿Es String un tipo primitivo?
- 24. ¿Cuál es la diferencia entre Double.parseDouble (String) y Double.valueOf (String)?
- 25. ¿Cuándo los navegadores envían application/octet-stream como Content-Type?
- 26. Paperclip: validar pdfs con content_type = 'application/octet-stream'
- 27. ¿Por qué no puedo crear un diccionario <string, dictionary <string, string >>?
- 28. ¿Cuál es la diferencia en string.Equals ("string") y "String" .Equals (string)?
- 29. ¿Qué hace realmente el método Dns.GetHostEntry (String)?
- 30. ¿Qué causa "NSScanner: nil string argument"?
¿Entonces esto puede significar una secuencia de caracteres (1 byte) entonces? Como una cadena de caracteres (a excepción de la terminación nula del curso)? – patrik