Compartir a través de


Text.FromBinary

Sintaxis

Text.FromBinary(binary as nullable binary, optional encoding as nullable number) as nullable text

Acerca de

Descodifica los datos de un valor binario a un valor de texto mediante el tipo de codificación especificado.

  • binary: los datos binarios que se van a descodificar.
  • encoding: (Opcional) Codificación usada para convertir el binario en texto. Use BinaryEncoding.Type para especificar el tipo de codificación. Si no se especifica este valor, el valor predeterminado es BinaryEncoding.Utf8.

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
]