基 础 函 数 参 考


BinaryToString

转换二进制变量为字符串.

BinaryToString ( 表达式 [, 标志] )

参 数

表达式 待转换的二进制变量.
标志 [可选参数] 指定如何转换二进制数据:
  标志 = 1 (默认), 二进制数据为 ANSI 编码
  标志 = 2, 二进制数据为 UTF16 小编码
  标志 = 3, 二进制数据为 UTF16 大编码
  标志 = 4, 二进制数据为 UTF8 编码

返 回 值

成功: 返回二进制转换后的字符串.
失败: 返回空字符串. @error 设为下列值:
1 - 字符串长度为 0.
2 - 字符串为奇数字节,但指定了 UTF16 编码 (必须偶数字节才是有效的 UTF16).

备 注

String() 将二进制数据转换为十六进制数据, 本函数假定二进制数据为字符串值, 并将其适当转换.

相 关 函 数

Binary, IsBinary, String, StringToBinary, StringToASCIIArray

函 数 示 例


Example()

Func Example()
    ; 定义将转换的字符串.
    ; 注:在帮助文件, 甚至在一些编辑器中此字符串可能会显示为 ??.
    ; 这个例子保存为带 BOM 的 UTF-8 编码.  它应该在支持基于 BOM
    ; 代码页转换的编辑器上正确显示.
    Local Const $sString = "Hello - 你好" ;译注: 此处中文为官方设置,非汉化

    ; 临时变量, 用于存储转换结果.  $sBinary 将保存二进制形式的原始字符串,
    ; $sConverted 将保存结果,
    ; 用于以后将其转换回原来的格式.
    Local $sBinary, $sConverted

    ; 原 UTF-8 字符串转换为 ANSI 兼容的二进制字符串.
    $sBinary = StringToBinary($sString)

    ; 转换 ANSI 兼容的二进制字符串成一个字符串.
    $sConverted = BinaryToString($sBinary)

    ; 显示的结果.  需要注意的是最后两个字符会出现 ??
    ; 因为它们不能代表 ANSI.(译注:中文 SCITE 编辑器显示与运行均正常)
    DisplayResults($sString, $sBinary, $sConverted, "ANSI")

    ; 原 UTF-8 字符串转换到 UTF16-LE 二进制字符串.
    $sBinary = StringToBinary($sString, 2)

    ; UTF16-LE 二进制字符串转换成一个字符串.
    $sConverted = BinaryToString($sBinary, 2)

    ; 显示结果.
    DisplayResults($sString, $sBinary, $sConverted, "UTF16-LE")

    ; 原 UTF-8 字符串转换到 UTF16-BE 二进制字符串.
    $sBinary = StringToBinary($sString, 3)

    ; UTF16-BE 二进制字符串转换成一个字符串.
    $sConverted = BinaryToString($sBinary, 3)

    ; 显示结果.
    DisplayResults($sString, $sBinary, $sConverted, "UTF16-BE")

    ; 原 UTF-8 字符串转换到 UTF-8 的二进制字符串.
    $sBinary = StringToBinary($sString, 4)

    ; UTF8 的二进制字符串转换成一个字符串.
    $sConverted = BinaryToString($sBinary, 4)

    ; 显示结果.
    DisplayResults($sString, $sBinary, $sConverted, "UTF8")
EndFunc

; 显示消息的辅助函数格式. 采用下列参数:
; $sOriginal - 转换前的原始字符串.
; $sBinary - 原始字符串已转换为二进制的字符串.
; $sConverted- 转换为二进制后返回的字符串.
; $sConversionType - 用于转换的编码类型名称.
Func DisplayResults($sOriginal, $sBinary, $sConverted, $sConversionType)
    MsgBox(4096, "", "原型:" & @CRLF & $sOriginal & @CRLF & @CRLF & "二进制:" & @CRLF & $sBinary & @CRLF & @CRLF & $sConversionType & ":" & @CRLF & $sConverted)
EndFunc

provider with jb51.net (unicode)