48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
Module CheckAnsi {
|
|
\\ ANSI STRING
|
|
Locale 1033
|
|
\\ convert UTF16-LE to ANSI 8bit
|
|
s$ =Str$("ABCDEFG")
|
|
Print Len(s$)=3.5 ' 3.5 words, means 7 bytes (3.5*2)
|
|
AnsiLen=Len(s$)*2
|
|
' From 4th byte get 3 bytes
|
|
n=4
|
|
m=3
|
|
substring$=Mid$(s$, n, m as byte)
|
|
substring2End$=Mid$(s$, n , AnsiLen as byte)
|
|
substringMinusOne$=Left$(s$, AnsiLen-1 as byte)
|
|
substringFromKnownCharacter$=Mid$(s$, Instr(s$, str$("B") as byte) , m as byte)
|
|
substringFromKnownSubstring$=Mid$(s$, Instr(s$, str$("BC") as byte) , m as byte)
|
|
Print Len(substring$)*2=m
|
|
|
|
\\ convert to UTF-16LE
|
|
Print Chr$(substring$)="DEF"
|
|
Print Chr$(substring2End$)="DEFG"
|
|
Print Chr$(substringMinusOne$)="ABCDEF"
|
|
Print Chr$(substringFromKnownCharacter$)="BCD"
|
|
Print Chr$(substringFromKnownSubstring$)="BCD"
|
|
}
|
|
CheckAnsi
|
|
Module CheckUTF16LE {
|
|
s$ ="ABCDEFG"
|
|
Print Len(s$)=7
|
|
Utf16Len=Len(s$)
|
|
' From 4th byte get 3 bytes
|
|
n=4
|
|
m=3
|
|
substring$=Mid$(s$, n, m)
|
|
substring2End$=Mid$(s$, n , Utf16Len)
|
|
substringMinusOne$=Left$(s$, Utf16Len-1)
|
|
substringFromKnownCharacter$=Mid$(s$, Instr(s$, "B") , m)
|
|
substringFromKnownSubstring$=Mid$(s$, Instr(s$, "BC") , m)
|
|
Print Len(substring$)=m
|
|
|
|
\\ convert to UTF-16LE
|
|
Print substring$="DEF"
|
|
Print substring2End$="DEFG"
|
|
Print substringMinusOne$="ABCDEF"
|
|
Print substringFromKnownCharacter$="BCD"
|
|
Print substringFromKnownSubstring$="BCD"
|
|
}
|
|
CheckUTF16LE
|