转换字符串为二进制数据.
StringToBinary ( 表达式 [, 标志] )
表达式 | 字符串表达式. |
标志 | [可选参数] 指定二进制数据的编码格式: 标志 = 1 (默认), 二进制数据为 ANSI 编码 标志 = 2, 二进制数据为 UTF16 小编码 标志 = 3, 二进制数据为 UTF16 大编码 标志 = 4, 二进制数据为 UTF8 编码 |
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)
; 显示的结果.
需要注意的是最后两个字符会出现 ?? (译注:中文 SCITE 编辑器显示与运行正常)
;
因为他们不能代表 ANSI.
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) |