summaryrefslogtreecommitdiff
path: root/basic/IconvEg,ffb
blob: 44c4757867d22a419ad2a569c40c5d681a60d39b (plain)
ofshex dumpascii
0000 0d 00 0a 0b f2 6d 61 69 6e 3a e0 0d 00 14 04 0d 00 1e 0a dd f2 6d 61 69 6e 0d 00 28 1d 20 20 de .....main:...........main..(....
0020 20 69 6e 25 20 ea 20 32 35 35 2c 20 6f 75 74 25 20 ea 20 32 35 35 0d 00 32 15 20 20 ea 20 68 61 .in%...255,.out%...255..2.....ha
0040 6e 64 6c 65 25 2c 20 65 72 72 25 0d 00 3c 04 0d 00 46 26 20 20 f4 20 69 6e 70 75 74 20 73 74 72 ndle%,.err%..<...F&....input.str
0060 69 6e 67 20 28 4e 55 4c 4c 20 74 65 72 6d 69 6e 61 74 65 64 29 0d 00 50 1d f4 20 20 69 6e 24 20 ing.(NULL.terminated)..P....in$.
0080 3d 20 22 41 22 3a 52 45 4d 20 55 53 2d 41 53 43 49 49 0d 00 51 29 f4 20 20 69 6e 24 20 3d 20 22 =."A":REM.US-ASCII..Q)...in$.=."
00a0 00 00 00 41 22 3a 52 45 4d 20 55 54 46 2d 33 32 42 45 20 28 6e 6f 20 42 4f 4d 29 0d 00 52 29 f4 ...A":REM.UTF-32BE.(no.BOM)..R).
00c0 20 20 69 6e 24 20 3d 20 22 41 00 00 00 22 3a 52 45 4d 20 55 54 46 2d 33 32 4c 45 20 28 6e 6f 20 ..in$.=."A...":REM.UTF-32LE.(no.
00e0 42 4f 4d 29 0d 00 5a 24 f4 20 20 69 6e 24 20 3d 20 22 00 00 fe ff 00 00 00 41 22 3a 52 45 4d 20 BOM)..Z$...in$.=.".......A":REM.
0100 55 54 46 2d 33 32 42 45 0d 00 64 24 f4 20 20 69 6e 24 20 3d 20 22 ff fe 00 00 41 00 00 00 22 3a UTF-32BE..d$...in$.=."....A...":
0120 52 45 4d 20 55 54 46 2d 33 32 4c 45 0d 00 65 27 f4 20 20 69 6e 24 20 3d 20 22 00 41 22 3a 52 45 REM.UTF-32LE..e'...in$.=.".A":RE
0140 4d 20 55 54 46 2d 31 36 42 45 20 28 6e 6f 20 42 4f 4d 29 0d 00 66 27 f4 20 20 69 6e 24 20 3d 20 M.UTF-16BE.(no.BOM)..f'...in$.=.
0160 22 41 00 22 3a 52 45 4d 20 55 54 46 2d 31 36 4c 45 20 28 6e 6f 20 42 4f 4d 29 0d 00 6e 20 f4 20 "A.":REM.UTF-16LE.(no.BOM)..n...
0180 20 69 6e 24 20 3d 20 22 fe ff 00 41 22 3a 52 45 4d 20 55 54 46 2d 31 36 42 45 0d 00 78 20 f4 20 .in$.=."...A":REM.UTF-16BE..x...
01a0 20 69 6e 24 20 3d 20 22 ff fe 41 00 22 3a 52 45 4d 20 55 54 46 2d 31 36 4c 45 0d 00 82 28 f4 20 .in$.=."..A.":REM.UTF-16LE...(..
01c0 20 69 6e 24 20 3d 20 22 ef bb bf 41 22 3a 52 45 4d 20 55 54 46 2d 38 20 28 77 69 74 68 20 42 4f .in$.=."...A":REM.UTF-8.(with.BO
01e0 4d 29 0d 00 83 12 20 20 24 28 69 6e 25 29 20 3d 20 69 6e 24 0d 00 96 14 20 20 69 6e 25 3f a9 28 M)......$(in%).=.in$......in%?.(
0200 69 6e 24 29 20 3d 20 30 0d 00 a0 04 0d 00 aa 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 in$).=.0.......0...handle%.=.FNi
0220 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 33 32 22 2c 20 22 41 53 43 49 49 22 29 0d 00 b4 31 conv_open("UTF-32",."ASCII")...1
0240 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 33 ...handle%.=.FNiconv_open("UTF-3
0260 32 22 2c 20 22 55 54 46 2d 33 32 22 29 0d 00 be 31 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 2",."UTF-32")...1...handle%.=.FN
0280 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 33 32 22 2c 20 22 55 54 46 2d 31 36 22 29 0d 00 iconv_open("UTF-32",."UTF-16")..
02a0 c8 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 .0...handle%.=.FNiconv_open("UTF
02c0 2d 33 32 22 2c 20 22 55 54 46 2d 38 22 29 0d 00 d2 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 -32",."UTF-8")...0...handle%.=.F
02e0 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 31 36 22 2c 20 22 41 53 43 49 49 22 29 0d 00 Niconv_open("UTF-16",."ASCII")..
0300 dc 31 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 .1...handle%.=.FNiconv_open("UTF
0320 2d 31 36 22 2c 20 22 55 54 46 2d 33 32 22 29 0d 00 e6 31 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 -16",."UTF-32")...1...handle%.=.
0340 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 31 36 22 2c 20 22 55 54 46 2d 31 36 22 29 FNiconv_open("UTF-16",."UTF-16")
0360 0d 00 f0 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 ...0...handle%.=.FNiconv_open("U
0380 54 46 2d 31 36 22 2c 20 22 55 54 46 2d 38 22 29 0d 00 fa 2f f4 20 20 68 61 6e 64 6c 65 25 20 3d TF-16",."UTF-8").../...handle%.=
03a0 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 38 22 2c 20 22 41 53 43 49 49 22 29 0d .FNiconv_open("UTF-8",."ASCII").
03c0 01 04 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 ..0...handle%.=.FNiconv_open("UT
03e0 46 2d 38 22 2c 20 22 55 54 46 2d 33 32 22 29 0d 01 0e 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 F-8",."UTF-32")...0...handle%.=.
0400 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 46 2d 38 22 2c 20 22 55 54 46 2d 31 36 22 29 0d FNiconv_open("UTF-8",."UTF-16").
0420 01 18 2f f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 55 54 ../...handle%.=.FNiconv_open("UT
0440 46 2d 38 22 2c 20 22 55 54 46 2d 38 22 29 0d 01 19 2f f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 F-8",."UTF-8").../...handle%.=.F
0460 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 41 53 43 49 49 22 2c 20 22 41 53 43 49 49 22 29 0d 01 1a Niconv_open("ASCII",."ASCII")...
0480 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 41 53 43 49 0...handle%.=.FNiconv_open("ASCI
04a0 49 22 2c 20 22 55 54 46 2d 33 32 22 29 0d 01 1b 30 f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e I",."UTF-32")...0...handle%.=.FN
04c0 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 41 53 43 49 49 22 2c 20 22 55 54 46 2d 31 36 22 29 0d 01 1c iconv_open("ASCII",."UTF-16")...
04e0 2f f4 20 20 68 61 6e 64 6c 65 25 20 3d 20 46 4e 69 63 6f 6e 76 5f 6f 70 65 6e 28 22 41 53 43 49 /...handle%.=.FNiconv_open("ASCI
0500 49 22 2c 20 22 55 54 46 2d 38 22 29 0d 01 2c 04 0d 01 36 43 20 20 f2 69 63 6f 6e 76 5f 69 63 6f I",."UTF-8")..,...6C...iconv_ico
0520 6e 76 28 68 61 6e 64 6c 65 25 2c 20 69 6e 25 2c 20 a9 28 69 6e 24 29 2c 20 6f 75 74 25 2c 20 32 nv(handle%,.in%,..(in$),.out%,.2
0540 35 35 2c 20 65 72 72 25 2c 20 6f 75 74 66 72 65 65 25 29 0d 01 40 15 20 20 e7 20 65 72 72 25 20 55,.err%,.outfree%)..@.....err%.
0560 3d 20 2d 31 20 8c 20 e1 0d 01 4a 2d 20 20 f4 20 63 6f 6e 76 65 72 74 20 6f 75 74 70 75 74 20 62 =.-1......J-....convert.output.b
0580 61 63 6b 20 74 6f 20 61 20 42 41 53 49 43 20 73 74 72 69 6e 67 0d 01 54 1e 20 20 6f 75 74 25 3f ack.to.a.BASIC.string..T...out%?
05a0 28 32 35 35 2d 6f 75 74 66 72 65 65 25 29 20 3d 20 31 33 0d 01 5e 04 0d 01 68 22 20 20 65 72 72 (255-outfree%).=.13..^...h"..err
05c0 25 20 3d 20 a4 69 63 6f 6e 76 5f 63 6c 6f 73 65 28 68 61 6e 64 6c 65 25 29 0d 01 72 04 0d 01 7c %.=..iconv_close(handle%)..r...|
05e0 23 20 20 f1 20 22 27 22 3b 69 6e 24 3b 22 27 20 2d 3e 20 27 22 24 28 6f 75 74 25 29 3b 22 27 22 #...."'";in$;"'.->.'"$(out%);"'"
0600 0d 01 86 26 20 20 f1 20 c3 7e 28 6f 75 74 25 3f 30 29 3b 22 20 22 3b c3 7e 28 6f 75 74 25 3f 31 ...&.....~(out%?0);".";.~(out%?1
0620 29 3b 22 20 22 3b 0d 01 90 21 20 20 f1 20 c3 7e 28 6f 75 74 25 3f 32 29 3b 22 20 22 3b c3 7e 28 );".";...!.....~(out%?2);".";.~(
0640 6f 75 74 25 3f 33 29 0d 01 9a 12 20 20 f1 20 c3 7e 28 6f 75 74 25 21 30 29 0d 01 a4 04 0d 01 ae out%?3).........~(out%!0).......
0660 05 e1 0d 01 b8 04 0d 01 c2 24 dd a4 69 63 6f 6e 76 5f 6f 70 65 6e 28 74 6f 63 6f 64 65 24 2c 20 .........$..iconv_open(tocode$,.
0680 66 72 6f 6d 63 6f 64 65 24 29 0d 01 cc 0f 20 20 ea 20 68 61 6e 64 6c 65 25 0d 01 d6 1e 20 20 de fromcode$)........handle%.......
06a0 20 74 6f 25 20 ea 20 32 35 35 2c 20 66 72 6f 6d 25 20 ea 20 32 35 35 0d 01 e0 04 0d 01 ea 1d 20 .to%...255,.from%...255.........
06c0 20 f4 20 4e 55 4c 2d 74 65 72 6d 69 6e 61 74 65 20 73 74 72 69 6e 67 73 0d 01 f4 16 20 20 24 28 ...NUL-terminate.strings......$(
06e0 74 6f 25 29 20 3d 20 74 6f 63 6f 64 65 24 0d 01 fe 18 20 20 74 6f 25 3f a9 28 74 6f 63 6f 64 65 to%).=.tocode$......to%?.(tocode
0700 24 29 20 3d 20 30 0d 02 08 04 0d 02 12 1a 20 20 24 28 66 72 6f 6d 25 29 20 3d 20 66 72 6f 6d 63 $).=.0..........$(from%).=.fromc
0720 6f 64 65 24 0d 02 1c 1c 20 20 66 72 6f 6d 25 3f a9 28 66 72 6f 6d 63 6f 64 65 24 29 20 3d 20 30 ode$......from%?.(fromcode$).=.0
0740 0d 02 26 04 0d 02 30 30 20 20 c8 99 22 58 49 63 6f 6e 76 5f 4f 70 65 6e 22 2c 74 6f 25 2c 66 72 ..&...00...."XIconv_Open",to%,fr
0760 6f 6d 25 20 b8 20 68 61 6e 64 6c 65 25 3b 66 6c 61 67 73 25 0d 02 3a 17 20 20 e7 20 28 66 6c 61 om%...handle%;flags%..:.....(fla
0780 67 73 25 20 80 20 25 31 29 20 8c 0d 02 44 25 20 20 20 20 f1 20 22 49 63 6f 6e 76 5f 4f 70 65 6e gs%...%1)....D%......"Iconv_Open
07a0 3a 20 22 3b c3 7e 28 21 68 61 6e 64 6c 65 25 29 0d 02 4e 14 20 20 20 20 68 61 6e 64 6c 65 25 20 :.";.~(!handle%)..N.....handle%.
07c0 3d 20 2d 31 0d 02 58 07 20 20 cd 0d 02 62 0c 3d 68 61 6e 64 6c 65 25 0d 02 6c 04 0d 02 76 52 dd =.-1..X......b.=handle%..l...vR.
07e0 f2 69 63 6f 6e 76 5f 69 63 6f 6e 76 28 63 64 25 2c 20 70 5f 69 6e 62 75 66 25 2c 20 69 6e 73 69 .iconv_iconv(cd%,.p_inbuf%,.insi
0800 7a 65 25 2c 20 70 5f 6f 75 74 62 75 66 25 2c 20 6f 75 74 73 69 7a 65 25 2c 20 f8 20 65 72 72 25 ze%,.p_outbuf%,.outsize%,...err%
0820 2c 20 f8 20 6f 75 74 66 72 65 65 25 29 0d 02 80 5a 20 20 c8 99 22 58 49 63 6f 6e 76 5f 43 6f 6e ,...outfree%)...Z...."XIconv_Con
0840 76 65 72 74 22 2c 63 64 25 2c 70 5f 69 6e 62 75 66 25 2c 69 6e 73 69 7a 65 25 2c 70 5f 6f 75 74 vert",cd%,p_inbuf%,insize%,p_out
0860 62 75 66 25 2c 6f 75 74 73 69 7a 65 25 20 b8 20 65 72 72 25 2c 2c 2c 2c 6f 75 74 66 72 65 65 25 buf%,outsize%...err%,,,,outfree%
0880 3b 66 6c 61 67 73 25 0d 02 8a 17 20 20 e7 20 28 66 6c 61 67 73 25 20 80 20 25 31 29 20 8c 0d 02 ;flags%........(flags%...%1)....
08a0 94 23 20 20 20 20 f1 20 22 49 63 6f 6e 76 5f 49 63 6f 6e 76 3a 20 22 3b c3 7e 28 21 65 72 72 25 .#......"Iconv_Iconv:.";.~(!err%
08c0 29 0d 02 9e 11 20 20 20 20 65 72 72 25 20 3d 20 2d 31 0d 02 a8 07 20 20 cd 0d 02 b2 05 e1 0d 02 )........err%.=.-1..............
08e0 bc 04 0d 02 c6 16 dd a4 69 63 6f 6e 76 5f 63 6c 6f 73 65 28 63 64 25 29 0d 02 d0 0c 20 20 ea 20 ........iconv_close(cd%)........
0900 65 72 72 25 0d 02 da 28 20 20 c8 99 22 58 49 63 6f 6e 76 5f 43 6c 6f 73 65 22 2c 63 64 25 20 b8 err%...(...."XIconv_Close",cd%..
0920 20 65 72 72 25 3b 66 6c 61 67 73 25 0d 02 e4 17 20 20 e7 20 28 66 6c 61 67 73 25 20 80 20 25 31 .err%;flags%........(flags%...%1
0940 29 20 8c 0d 02 ee 23 20 20 20 20 f1 20 22 49 63 6f 6e 76 5f 43 6c 6f 73 65 3a 20 22 3b c3 7e 28 ).....#......"Iconv_Close:.";.~(
0960 21 65 72 72 25 29 0d 02 f8 11 20 20 20 20 65 72 72 25 20 3d 20 2d 31 0d 03 02 07 20 20 cd 0d 03 !err%)........err%.=.-1.........
0980 0c 09 3d 65 72 72 25 0d ff ..=err%..