StringToBinary

首页  后退  前进

StringToBinary
down2

StringToBinary

转换字符串为二进制数据.

 

StringToBinary ( expression [, flag = 1] )

参数

expression

要转成二进制数据的表达式

flag

[可选] 指定二进制数据的编码格式:

   $SB_ANSI (1) = 二进制数据为 ANSI 编码 (默认)

   $SB_UTF16LE (2) = 二进制数据为 UTF16 小编码

   $SB_UTF16BE (3) = 二进制数据为 UTF16 大编码

   $SB_UTF8 (4) = 二进制数据为 UTF8 编码

 

常量定义在 StringConstants.au3

返回值

返回一个二进制变量.

备注

详细说明参考 "Unicode 支持".

 

函数示例

#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
Example()
Func Example()
    ; Define the string that will be converted later.
    ; NOTE: This string may show up as ?? in the help file and even in some editors.
    ; This example is saved as UTF-8 with BOM.  It should display correctly in editors
    ; which support changing code pages based on BOMs.
    Local Const $sString = "Hello - 你好"
    ; Temporary variables used to store conversion results.  $dBinary will hold
    ; the original string in binary form and $sConverted will hold the result
    ; afte it's been transformed back to the original format.
    Local $dBinary = Binary(""), $sConverted = ""
    ; Convert the original UTF-8 string to an ANSI compatible binary string.
    $dBinary = StringToBinary($sString)
    ; Convert the ANSI compatible binary string back into a string.
    $sConverted = BinaryToString($dBinary)
    ; Display the resulsts.  Note that the last two characters will appear
    ; as ?? since they cannot be represented in ANSI.
    DisplayResults($sString, $dBinary, $sConverted, "ANSI")
    ; Convert the original UTF-8 string to an UTF16-LE binary string.
    $dBinary = StringToBinary($sString, $SB_UTF16LE)
    ; Convert the UTF16-LE binary string back into a string.
    $sConverted = BinaryToString($dBinary, $SB_UTF16LE)
    ; Display the resulsts.
    DisplayResults($sString, $dBinary, $sConverted, "UTF16-LE")
    ; Convert the original UTF-8 string to an UTF16-BE binary string.
    $dBinary = StringToBinary($sString, $SB_UTF16BE)
    ; Convert the UTF16-BE binary string back into a string.
    $sConverted = BinaryToString($dBinary, $SB_UTF16BE)
    ; Display the resulsts.
    DisplayResults($sString, $dBinary, $sConverted, "UTF16-BE")
    ; Convert the original UTF-8 string to an UTF-8 binary string.
    $dBinary = StringToBinary($sString, $SB_UTF8)
    ; Convert the UTF8 binary string back into a string.
    $sConverted = BinaryToString($dBinary, $SB_UTF8)
    ; Display the resulsts.
    DisplayResults($sString, $dBinary, $sConverted, "UTF8")
EndFunc   ;==>Example
; Helper function which formats the message for display.  It takes the following parameters:
; $sOriginal - The original string before conversions.
; $dBinary - The original string after it has been converted to binary.
; $sConverted- The string after it has been converted to binary and then back to a string.
; $sConversionType - A human friendly name for the encoding type used for the conversion.
Func DisplayResults($sOriginal, $dBinary, $sConverted, $sConversionType)
    MsgBox($MB_SYSTEMMODAL, "", "Original:" & @CRLF & $sOriginal & @CRLF & @CRLF & "Binary:" & @CRLF & $dBinary & @CRLF & @CRLF & $sConversionType & ":" & @CRLF & $sConverted)
EndFunc   ;==>DisplayResults

----------------------------------------

 

该函数可以通过命令 exect 调用

参见:

BinaryToString, Binary, String, IsBinary

例子
copy

exect=$var_b=StringToBinary('Hello!',1)||_ViewValues('$var_b')||$var_s=BinaryToString(Eval('var_b'),1)||_ViewValues('$var_s') ;; 将字符串转换为ANSI二进制类型和的例子

 

exect=$var_b=StringToBinary('Hello!',2)||_ViewValues('$var_b')||$var_s=BinaryToString(Eval('var_b'),2)||_ViewValues('$var_s') ;; 将字符串转换为二进制类型UTF-16 LE和返回的示例

 

exect=$var_b=StringToBinary('Hello!',3)||_ViewValues('$var_b')||$var_s=BinaryToString(Eval('var_b'),3)||_ViewValues('$var_s') ;; 将字符串转换为二进制类型UTF-16 BE和返回的示例

 

exect=$var_b=StringToBinary('Hello!',4)||_ViewValues('$var_b')||$var_s=BinaryToString(Eval('var_b'),4)||_ViewValues('$var_s') ;; 将字符串转换为二进制类型UTF-8和返回的示例

 

exect=RegWrite('HKEY_CURRENT_USER\Software\Test','TestKey6','REG_BINARY',StringToBinary('Hello')) ;; 用二进制数据创建参数

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru