Compartir vía


Text.ToBinary

Sintaxis

Text.ToBinary(
    text as nullable text,
    optional encoding as nullable number,
    optional includeByteOrderMark as nullable logical
) as nullable binary

Acerca de

Codifica un valor de texto en un valor binario mediante la codificación especificada.

  • text: texto que se va a codificar.
  • encoding: (Opcional) Codificación usada para convertir el texto en binario. Use BinaryEncoding.Type para especificar el tipo de codificación. Si no se especifica este valor, el valor predeterminado es BinaryEncoding.Utf8.
  • includeByteOrderMark: (Opcional) Determina si se debe incluir una marca de orden de bytes (BOM) al principio de la salida binaria. Establecer true para incluir automáticamente el BOM; de lo contrario, false. Si no se especifica este valor, el valor predeterminado es false.

Ejemplo 1

Codificar texto en binario, generar una cadena Base64 visible y, a continuación, descodificarla de nuevo en texto.

Uso

let
    originalText = "Testing 1-2-3",

    // Default UTF-8 binary
    binaryData = Text.ToBinary(originalText),

    // Convert binary to viewable Base64 string
    encodedText = Binary.ToText(binaryData, BinaryEncoding.Base64),

    // Decode back to text
    decodedText = Text.FromBinary(binaryData),

    result = [
        OriginalText = originalText,
        BinaryBase64 = encodedText,
        DecodedText = decodedText
    ]
in
    result

Salida

[
    OriginalText = "Testing 1-2-3",
    BinaryEncoded = "VGVzdGluZyAxLTItMw==",
    DecodedText = "Testing 1-2-3"
]

Ejemplo 2

Codificar texto en binario con una marca de orden de bytes (BOM), generar una cadena hexadecimal visible y, a continuación, descodificarla de nuevo en texto.

Uso

let
    originalText = "Testing 1-2-3",

    // Convert to binary with BOM
    binaryData = Text.ToBinary(originalText, TextEncoding.Utf16, true),

    // Show binary as hex to demonstrate presence of BOM (fffe)
    binaryAsHex = Binary.ToText(binaryData, BinaryEncoding.Hex),

    // Decode back to text
    decodedText = Text.FromBinary(binaryData, TextEncoding.Utf16),

    // Compare original text and decoded text
    isIdentical = originalText = decodedText,

    result = [
        OriginalText = originalText,
        BinaryHex = binaryAsHex,
        DecodedText = decodedText,
        IsIdentical = isIdentical
    ]
in
    result

Salida

[
    OriginalText = "Testing 1-2-3", 
    DecodedText = "fffe540065007300740069006e006700200031002d0032002d003300",
    DecodedText = "Testing 1-2-3", 
    IsIdentical = true 
]