轉換二進制變量為字符串.
BinaryToString ( 表達式 [, 標志] )
表達式 | 待轉換的二進制變量. |
標志 | [可選參數(shù)] 指定如何轉換二進制數(shù)據: 標志 = 1 (默認), 二進制數(shù)據為 ANSI 編碼 標志 = 2, 二進制數(shù)據為 UTF16 小編碼 標志 = 3, 二進制數(shù)據為 UTF16 大編碼 標志 = 4, 二進制數(shù)據為 UTF8 編碼 |
成功: | 返回二進制轉換后的字符串. |
失敗: | 返回空字符串. @error 設為下列值: |
1 - 字符串長度為 0. | |
2 - 字符串為奇數(shù)字節(jié),但指定了 UTF16 編碼 (必須偶數(shù)字節(jié)才是有效的 UTF16). |
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)
; 顯示的結果.
需要注意的是最后兩個字符會出現(xiàn) ??
; 因為它們不能代表
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
; 顯示消息的輔助函數(shù)格式. 采用下列參數(shù):
; $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) |