转化为Base64字符串:
Set file=##class(%Stream.FileBinary).%New()
Set sc=file.LinkToFile("D:/temp/test.png")
w $system.Status.GetErrorText(sc)
set contents=file.Read()
set base64contents=$SYSTEM.Encryption.Base64Encode(contents)
Base64字符串解析:
set png="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
set b64=$piece(png,"base64,", 2)
set binary=$system.Encryption.Base64Decode(b64)
Class DC.Util Extends %RegisteredObject
{
/// Hex to Base64
ClassMethod HexToB64(hex)
{
if $length(hex)#2 zt "ELEN" // trap, two hex chars should make up each byte
set str=""
for i=1:2:$length(hex) set str=str_$char($zhex($extract(hex,i,i+1)))
quit $system.Encryption.Base64Encode(str,1)
}
/// Base64 to Hex
ClassMethod B64ToHex(b64)
{
set str=$system.Encryption.Base64Decode(b64), hex=""
for i=1:1:$length(str) set hex=hex_$extract($zhex($ascii(str,i)+256),2,3)
quit hex
}
}