Page 1 of 1

Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 1:36 pm
by miskox
Hello all!

I have a plain .txt file (1-byte characters). Characters are in CP-852 so when the file is read by batch (.bat/.cmd) everything is displayed correctly.

If I convert CP852 to CP1250 and process this .txt file with PureBasic some (national) characters are not preserved.

Test:

Code: Select all

OpenConsole ("info",#PB_Ascii)

If CreateFile (21 , "testfile.txt", #PB_Ascii)
  WriteStringN (21, "  852    1250   english")
  WriteStringN (21, "¬ć¦źç§  ČŠŽčšž  CSZcsz")
EndIf
CloseFile (21)  
Characters in question are ČŠŽčšž.

Code: Select all

        Č  Š  Ž  č  š  ž
CP852 : C8 8A 8E E8 9A 9E
CP1250: AC E6 A6 9F E7 A7
If I edit the output file with Notepad characters are not correct. If I use

Code: Select all

type testfile.txt
characters look like:

Code: Select all

  852    1250   english
ČaŽ?šž  E??e??  CSZcsz
characters are not correct (changing the Console Box font doesn't help - see hex values of the output file-values of the question mark (?) are 0x3f so the font is not to blame).

I can't use CHR() because I read source file, do something and then I make another .txt file (this this it remains in CP1250) because it will be used by a Windows application (and not DOS .bat).

Ideas?

Thanks.
Saso

Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 4:40 pm
by helpy
Consider that literal strings in Purebasic are always handled as 2-byte UNICODE:

Code: Select all

If CreateFile (21 , "testfile.txt", #PB_Ascii)
  WriteStringN (21, "  852    1250   english")
  WriteStringN (21, "¬ć¦źç§  ČŠŽčšž  CSZcsz")
EndIf
CloseFile (21)
That means the literal strings in this code are handled as UNICODE strings and then converted from UNICODE to ASCII before writing to the file.
See the following table, where you can see, which codepage is used for mapping from UNICODE to ASCII:
==> https://www.purebasic.com/documentation ... ascii.html

As you can see the character "Č" is NOT part of this table!

Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 4:41 pm
by infratec
You have to do the conversion by 'hand'

As an example you can look here:

viewtopic.php?p=482009#p482009

Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 4:42 pm
by helpy
If PureBasic internally converts ASCII to UNICODE the following mapping occurs (according to my short test):

Code: Select all

ASCII 20 >> UNICODE 0020 >> Character:  
ASCII 21 >> UNICODE 0021 >> Character: !
ASCII 22 >> UNICODE 0022 >> Character: "
ASCII 23 >> UNICODE 0023 >> Character: #
ASCII 24 >> UNICODE 0024 >> Character: $
ASCII 25 >> UNICODE 0025 >> Character: %
ASCII 26 >> UNICODE 0026 >> Character: &
ASCII 27 >> UNICODE 0027 >> Character: '
ASCII 28 >> UNICODE 0028 >> Character: (
ASCII 29 >> UNICODE 0029 >> Character: )
ASCII 2A >> UNICODE 002A >> Character: *
ASCII 2B >> UNICODE 002B >> Character: +
ASCII 2C >> UNICODE 002C >> Character: ,
ASCII 2D >> UNICODE 002D >> Character: -
ASCII 2E >> UNICODE 002E >> Character: .
ASCII 2F >> UNICODE 002F >> Character: /
ASCII 30 >> UNICODE 0030 >> Character: 0
ASCII 31 >> UNICODE 0031 >> Character: 1
ASCII 32 >> UNICODE 0032 >> Character: 2
ASCII 33 >> UNICODE 0033 >> Character: 3
ASCII 34 >> UNICODE 0034 >> Character: 4
ASCII 35 >> UNICODE 0035 >> Character: 5
ASCII 36 >> UNICODE 0036 >> Character: 6
ASCII 37 >> UNICODE 0037 >> Character: 7
ASCII 38 >> UNICODE 0038 >> Character: 8
ASCII 39 >> UNICODE 0039 >> Character: 9
ASCII 3A >> UNICODE 003A >> Character: :
ASCII 3B >> UNICODE 003B >> Character: ;
ASCII 3C >> UNICODE 003C >> Character: <
ASCII 3D >> UNICODE 003D >> Character: =
ASCII 3E >> UNICODE 003E >> Character: >
ASCII 3F >> UNICODE 003F >> Character: ?
ASCII 40 >> UNICODE 0040 >> Character: @
ASCII 41 >> UNICODE 0041 >> Character: A
ASCII 42 >> UNICODE 0042 >> Character: B
ASCII 43 >> UNICODE 0043 >> Character: C
ASCII 44 >> UNICODE 0044 >> Character: D
ASCII 45 >> UNICODE 0045 >> Character: E
ASCII 46 >> UNICODE 0046 >> Character: F
ASCII 47 >> UNICODE 0047 >> Character: G
ASCII 48 >> UNICODE 0048 >> Character: H
ASCII 49 >> UNICODE 0049 >> Character: I
ASCII 4A >> UNICODE 004A >> Character: J
ASCII 4B >> UNICODE 004B >> Character: K
ASCII 4C >> UNICODE 004C >> Character: L
ASCII 4D >> UNICODE 004D >> Character: M
ASCII 4E >> UNICODE 004E >> Character: N
ASCII 4F >> UNICODE 004F >> Character: O
ASCII 50 >> UNICODE 0050 >> Character: P
ASCII 51 >> UNICODE 0051 >> Character: Q
ASCII 52 >> UNICODE 0052 >> Character: R
ASCII 53 >> UNICODE 0053 >> Character: S
ASCII 54 >> UNICODE 0054 >> Character: T
ASCII 55 >> UNICODE 0055 >> Character: U
ASCII 56 >> UNICODE 0056 >> Character: V
ASCII 57 >> UNICODE 0057 >> Character: W
ASCII 58 >> UNICODE 0058 >> Character: X
ASCII 59 >> UNICODE 0059 >> Character: Y
ASCII 5A >> UNICODE 005A >> Character: Z
ASCII 5B >> UNICODE 005B >> Character: [
ASCII 5C >> UNICODE 005C >> Character: \
ASCII 5D >> UNICODE 005D >> Character: ]
ASCII 5E >> UNICODE 005E >> Character: ^
ASCII 5F >> UNICODE 005F >> Character: _
ASCII 60 >> UNICODE 0060 >> Character: `
ASCII 61 >> UNICODE 0061 >> Character: a
ASCII 62 >> UNICODE 0062 >> Character: b
ASCII 63 >> UNICODE 0063 >> Character: c
ASCII 64 >> UNICODE 0064 >> Character: d
ASCII 65 >> UNICODE 0065 >> Character: e
ASCII 66 >> UNICODE 0066 >> Character: f
ASCII 67 >> UNICODE 0067 >> Character: g
ASCII 68 >> UNICODE 0068 >> Character: h
ASCII 69 >> UNICODE 0069 >> Character: i
ASCII 6A >> UNICODE 006A >> Character: j
ASCII 6B >> UNICODE 006B >> Character: k
ASCII 6C >> UNICODE 006C >> Character: l
ASCII 6D >> UNICODE 006D >> Character: m
ASCII 6E >> UNICODE 006E >> Character: n
ASCII 6F >> UNICODE 006F >> Character: o
ASCII 70 >> UNICODE 0070 >> Character: p
ASCII 71 >> UNICODE 0071 >> Character: q
ASCII 72 >> UNICODE 0072 >> Character: r
ASCII 73 >> UNICODE 0073 >> Character: s
ASCII 74 >> UNICODE 0074 >> Character: t
ASCII 75 >> UNICODE 0075 >> Character: u
ASCII 76 >> UNICODE 0076 >> Character: v
ASCII 77 >> UNICODE 0077 >> Character: w
ASCII 78 >> UNICODE 0078 >> Character: x
ASCII 79 >> UNICODE 0079 >> Character: y
ASCII 7A >> UNICODE 007A >> Character: z
ASCII 7B >> UNICODE 007B >> Character: {
ASCII 7C >> UNICODE 007C >> Character: |
ASCII 7D >> UNICODE 007D >> Character: }
ASCII 7E >> UNICODE 007E >> Character: ~
ASCII 7F >> UNICODE 007F >> Character: 
ASCII 80 >> UNICODE 20AC >> Character: €
ASCII 81 >> UNICODE 0081 >> Character: 
ASCII 82 >> UNICODE 201A >> Character: ‚
ASCII 83 >> UNICODE 0192 >> Character: ƒ
ASCII 84 >> UNICODE 201E >> Character: „
ASCII 85 >> UNICODE 2026 >> Character: …
ASCII 86 >> UNICODE 2020 >> Character: †
ASCII 87 >> UNICODE 2021 >> Character: ‡
ASCII 88 >> UNICODE 02C6 >> Character: ˆ
ASCII 89 >> UNICODE 2030 >> Character: ‰
ASCII 8A >> UNICODE 0160 >> Character: Š
ASCII 8B >> UNICODE 2039 >> Character: ‹
ASCII 8C >> UNICODE 0152 >> Character: Œ
ASCII 8D >> UNICODE 008D >> Character: 
ASCII 8E >> UNICODE 017D >> Character: Ž
ASCII 8F >> UNICODE 008F >> Character: 
ASCII 90 >> UNICODE 0090 >> Character: 
ASCII 91 >> UNICODE 2018 >> Character: ‘
ASCII 92 >> UNICODE 2019 >> Character: ’
ASCII 93 >> UNICODE 201C >> Character: “
ASCII 94 >> UNICODE 201D >> Character: ”
ASCII 95 >> UNICODE 2022 >> Character: •
ASCII 96 >> UNICODE 2013 >> Character: –
ASCII 97 >> UNICODE 2014 >> Character: —
ASCII 98 >> UNICODE 02DC >> Character: ˜
ASCII 99 >> UNICODE 2122 >> Character: ™
ASCII 9A >> UNICODE 0161 >> Character: š
ASCII 9B >> UNICODE 203A >> Character: ›
ASCII 9C >> UNICODE 0153 >> Character: œ
ASCII 9D >> UNICODE 009D >> Character: 
ASCII 9E >> UNICODE 017E >> Character: ž
ASCII 9F >> UNICODE 0178 >> Character: Ÿ
ASCII A0 >> UNICODE 00A0 >> Character:  
ASCII A1 >> UNICODE 00A1 >> Character: ¡
ASCII A2 >> UNICODE 00A2 >> Character: ¢
ASCII A3 >> UNICODE 00A3 >> Character: £
ASCII A4 >> UNICODE 00A4 >> Character: ¤
ASCII A5 >> UNICODE 00A5 >> Character: ¥
ASCII A6 >> UNICODE 00A6 >> Character: ¦
ASCII A7 >> UNICODE 00A7 >> Character: §
ASCII A8 >> UNICODE 00A8 >> Character: ¨
ASCII A9 >> UNICODE 00A9 >> Character: ©
ASCII AA >> UNICODE 00AA >> Character: ª
ASCII AB >> UNICODE 00AB >> Character: «
ASCII AC >> UNICODE 00AC >> Character: ¬
ASCII AD >> UNICODE 00AD >> Character: ­
ASCII AE >> UNICODE 00AE >> Character: ®
ASCII AF >> UNICODE 00AF >> Character: ¯
ASCII B0 >> UNICODE 00B0 >> Character: °
ASCII B1 >> UNICODE 00B1 >> Character: ±
ASCII B2 >> UNICODE 00B2 >> Character: ²
ASCII B3 >> UNICODE 00B3 >> Character: ³
ASCII B4 >> UNICODE 00B4 >> Character: ´
ASCII B5 >> UNICODE 00B5 >> Character: µ
ASCII B6 >> UNICODE 00B6 >> Character: ¶
ASCII B7 >> UNICODE 00B7 >> Character: ·
ASCII B8 >> UNICODE 00B8 >> Character: ¸
ASCII B9 >> UNICODE 00B9 >> Character: ¹
ASCII BA >> UNICODE 00BA >> Character: º
ASCII BB >> UNICODE 00BB >> Character: »
ASCII BC >> UNICODE 00BC >> Character: ¼
ASCII BD >> UNICODE 00BD >> Character: ½
ASCII BE >> UNICODE 00BE >> Character: ¾
ASCII BF >> UNICODE 00BF >> Character: ¿
ASCII C0 >> UNICODE 00C0 >> Character: À
ASCII C1 >> UNICODE 00C1 >> Character: Á
ASCII C2 >> UNICODE 00C2 >> Character: Â
ASCII C3 >> UNICODE 00C3 >> Character: Ã
ASCII C4 >> UNICODE 00C4 >> Character: Ä
ASCII C5 >> UNICODE 00C5 >> Character: Å
ASCII C6 >> UNICODE 00C6 >> Character: Æ
ASCII C7 >> UNICODE 00C7 >> Character: Ç
ASCII C8 >> UNICODE 00C8 >> Character: È
ASCII C9 >> UNICODE 00C9 >> Character: É
ASCII CA >> UNICODE 00CA >> Character: Ê
ASCII CB >> UNICODE 00CB >> Character: Ë
ASCII CC >> UNICODE 00CC >> Character: Ì
ASCII CD >> UNICODE 00CD >> Character: Í
ASCII CE >> UNICODE 00CE >> Character: Î
ASCII CF >> UNICODE 00CF >> Character: Ï
ASCII D0 >> UNICODE 00D0 >> Character: Ð
ASCII D1 >> UNICODE 00D1 >> Character: Ñ
ASCII D2 >> UNICODE 00D2 >> Character: Ò
ASCII D3 >> UNICODE 00D3 >> Character: Ó
ASCII D4 >> UNICODE 00D4 >> Character: Ô
ASCII D5 >> UNICODE 00D5 >> Character: Õ
ASCII D6 >> UNICODE 00D6 >> Character: Ö
ASCII D7 >> UNICODE 00D7 >> Character: ×
ASCII D8 >> UNICODE 00D8 >> Character: Ø
ASCII D9 >> UNICODE 00D9 >> Character: Ù
ASCII DA >> UNICODE 00DA >> Character: Ú
ASCII DB >> UNICODE 00DB >> Character: Û
ASCII DC >> UNICODE 00DC >> Character: Ü
ASCII DD >> UNICODE 00DD >> Character: Ý
ASCII DE >> UNICODE 00DE >> Character: Þ
ASCII DF >> UNICODE 00DF >> Character: ß
ASCII E0 >> UNICODE 00E0 >> Character: à
ASCII E1 >> UNICODE 00E1 >> Character: á
ASCII E2 >> UNICODE 00E2 >> Character: â
ASCII E3 >> UNICODE 00E3 >> Character: ã
ASCII E4 >> UNICODE 00E4 >> Character: ä
ASCII E5 >> UNICODE 00E5 >> Character: å
ASCII E6 >> UNICODE 00E6 >> Character: æ
ASCII E7 >> UNICODE 00E7 >> Character: ç
ASCII E8 >> UNICODE 00E8 >> Character: è
ASCII E9 >> UNICODE 00E9 >> Character: é
ASCII EA >> UNICODE 00EA >> Character: ê
ASCII EB >> UNICODE 00EB >> Character: ë
ASCII EC >> UNICODE 00EC >> Character: ì
ASCII ED >> UNICODE 00ED >> Character: í
ASCII EE >> UNICODE 00EE >> Character: î
ASCII EF >> UNICODE 00EF >> Character: ï
ASCII F0 >> UNICODE 00F0 >> Character: ð
ASCII F1 >> UNICODE 00F1 >> Character: ñ
ASCII F2 >> UNICODE 00F2 >> Character: ò
ASCII F3 >> UNICODE 00F3 >> Character: ó
ASCII F4 >> UNICODE 00F4 >> Character: ô
ASCII F5 >> UNICODE 00F5 >> Character: õ
ASCII F6 >> UNICODE 00F6 >> Character: ö
ASCII F7 >> UNICODE 00F7 >> Character: ÷
ASCII F8 >> UNICODE 00F8 >> Character: ø
ASCII F9 >> UNICODE 00F9 >> Character: ù
ASCII FA >> UNICODE 00FA >> Character: ú
ASCII FB >> UNICODE 00FB >> Character: û
ASCII FC >> UNICODE 00FC >> Character: ü
ASCII FD >> UNICODE 00FD >> Character: ý
ASCII FE >> UNICODE 00FE >> Character: þ
ASCII FF >> UNICODE 00FF >> Character: ÿ

Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 5:16 pm
by helpy
Another test:
* Create a Unicode table of characters from hex 0020 to 01FF
* Convert to ASCII with PB functions
* Output list of Unicode/Ascii values and display characters
* compare string (* --> strings differ // = --> strings are identical)

Consider the following:
* ASCII characters should be part of the ASCII (CP1252) table
see: https://www.purebasic.com/documentation ... ascii.html
* Not all fonts used to display the characters contain all Unicode characters/glyphs

Example:

Code: Select all

UNICODE 0020 >> ASCII 20 >> ASCII-Character:   [was UNICODE:  ]=
UNICODE 0021 >> ASCII 21 >> ASCII-Character: ! [was UNICODE: !]=
UNICODE 0022 >> ASCII 22 >> ASCII-Character: " [was UNICODE: "]=
UNICODE 0023 >> ASCII 23 >> ASCII-Character: # [was UNICODE: #]=
UNICODE 0024 >> ASCII 24 >> ASCII-Character: $ [was UNICODE: $]=
UNICODE 0025 >> ASCII 25 >> ASCII-Character: % [was UNICODE: %]=
UNICODE 0026 >> ASCII 26 >> ASCII-Character: & [was UNICODE: &]=
UNICODE 0027 >> ASCII 27 >> ASCII-Character: ' [was UNICODE: ']=
UNICODE 0028 >> ASCII 28 >> ASCII-Character: ( [was UNICODE: (]=
UNICODE 0029 >> ASCII 29 >> ASCII-Character: ) [was UNICODE: )]=
UNICODE 002A >> ASCII 2A >> ASCII-Character: * [was UNICODE: *]=
UNICODE 002B >> ASCII 2B >> ASCII-Character: + [was UNICODE: +]=
UNICODE 002C >> ASCII 2C >> ASCII-Character: , [was UNICODE: ,]=
UNICODE 002D >> ASCII 2D >> ASCII-Character: - [was UNICODE: -]=
UNICODE 002E >> ASCII 2E >> ASCII-Character: . [was UNICODE: .]=
UNICODE 002F >> ASCII 2F >> ASCII-Character: / [was UNICODE: /]=
UNICODE 0030 >> ASCII 30 >> ASCII-Character: 0 [was UNICODE: 0]=
UNICODE 0031 >> ASCII 31 >> ASCII-Character: 1 [was UNICODE: 1]=
UNICODE 0032 >> ASCII 32 >> ASCII-Character: 2 [was UNICODE: 2]=
UNICODE 0033 >> ASCII 33 >> ASCII-Character: 3 [was UNICODE: 3]=
UNICODE 0034 >> ASCII 34 >> ASCII-Character: 4 [was UNICODE: 4]=
UNICODE 0035 >> ASCII 35 >> ASCII-Character: 5 [was UNICODE: 5]=
UNICODE 0036 >> ASCII 36 >> ASCII-Character: 6 [was UNICODE: 6]=
UNICODE 0037 >> ASCII 37 >> ASCII-Character: 7 [was UNICODE: 7]=
UNICODE 0038 >> ASCII 38 >> ASCII-Character: 8 [was UNICODE: 8]=
UNICODE 0039 >> ASCII 39 >> ASCII-Character: 9 [was UNICODE: 9]=
UNICODE 003A >> ASCII 3A >> ASCII-Character: : [was UNICODE: :]=
UNICODE 003B >> ASCII 3B >> ASCII-Character: ; [was UNICODE: ;]=
UNICODE 003C >> ASCII 3C >> ASCII-Character: < [was UNICODE: <]=
UNICODE 003D >> ASCII 3D >> ASCII-Character: = [was UNICODE: =]=
UNICODE 003E >> ASCII 3E >> ASCII-Character: > [was UNICODE: >]=
UNICODE 003F >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ?]=
UNICODE 0040 >> ASCII 40 >> ASCII-Character: @ [was UNICODE: @]=
UNICODE 0041 >> ASCII 41 >> ASCII-Character: A [was UNICODE: A]=
UNICODE 0042 >> ASCII 42 >> ASCII-Character: B [was UNICODE: B]=
UNICODE 0043 >> ASCII 43 >> ASCII-Character: C [was UNICODE: C]=
UNICODE 0044 >> ASCII 44 >> ASCII-Character: D [was UNICODE: D]=
UNICODE 0045 >> ASCII 45 >> ASCII-Character: E [was UNICODE: E]=
UNICODE 0046 >> ASCII 46 >> ASCII-Character: F [was UNICODE: F]=
UNICODE 0047 >> ASCII 47 >> ASCII-Character: G [was UNICODE: G]=
UNICODE 0048 >> ASCII 48 >> ASCII-Character: H [was UNICODE: H]=
UNICODE 0049 >> ASCII 49 >> ASCII-Character: I [was UNICODE: I]=
UNICODE 004A >> ASCII 4A >> ASCII-Character: J [was UNICODE: J]=
UNICODE 004B >> ASCII 4B >> ASCII-Character: K [was UNICODE: K]=
UNICODE 004C >> ASCII 4C >> ASCII-Character: L [was UNICODE: L]=
UNICODE 004D >> ASCII 4D >> ASCII-Character: M [was UNICODE: M]=
UNICODE 004E >> ASCII 4E >> ASCII-Character: N [was UNICODE: N]=
UNICODE 004F >> ASCII 4F >> ASCII-Character: O [was UNICODE: O]=
UNICODE 0050 >> ASCII 50 >> ASCII-Character: P [was UNICODE: P]=
UNICODE 0051 >> ASCII 51 >> ASCII-Character: Q [was UNICODE: Q]=
UNICODE 0052 >> ASCII 52 >> ASCII-Character: R [was UNICODE: R]=
UNICODE 0053 >> ASCII 53 >> ASCII-Character: S [was UNICODE: S]=
UNICODE 0054 >> ASCII 54 >> ASCII-Character: T [was UNICODE: T]=
UNICODE 0055 >> ASCII 55 >> ASCII-Character: U [was UNICODE: U]=
UNICODE 0056 >> ASCII 56 >> ASCII-Character: V [was UNICODE: V]=
UNICODE 0057 >> ASCII 57 >> ASCII-Character: W [was UNICODE: W]=
UNICODE 0058 >> ASCII 58 >> ASCII-Character: X [was UNICODE: X]=
UNICODE 0059 >> ASCII 59 >> ASCII-Character: Y [was UNICODE: Y]=
UNICODE 005A >> ASCII 5A >> ASCII-Character: Z [was UNICODE: Z]=
UNICODE 005B >> ASCII 5B >> ASCII-Character: [ [was UNICODE: []=
UNICODE 005C >> ASCII 5C >> ASCII-Character: \ [was UNICODE: \]=
UNICODE 005D >> ASCII 5D >> ASCII-Character: ] [was UNICODE: ]]=
UNICODE 005E >> ASCII 5E >> ASCII-Character: ^ [was UNICODE: ^]=
UNICODE 005F >> ASCII 5F >> ASCII-Character: _ [was UNICODE: _]=
UNICODE 0060 >> ASCII 60 >> ASCII-Character: ` [was UNICODE: `]=
UNICODE 0061 >> ASCII 61 >> ASCII-Character: a [was UNICODE: a]=
UNICODE 0062 >> ASCII 62 >> ASCII-Character: b [was UNICODE: b]=
UNICODE 0063 >> ASCII 63 >> ASCII-Character: c [was UNICODE: c]=
UNICODE 0064 >> ASCII 64 >> ASCII-Character: d [was UNICODE: d]=
UNICODE 0065 >> ASCII 65 >> ASCII-Character: e [was UNICODE: e]=
UNICODE 0066 >> ASCII 66 >> ASCII-Character: f [was UNICODE: f]=
UNICODE 0067 >> ASCII 67 >> ASCII-Character: g [was UNICODE: g]=
UNICODE 0068 >> ASCII 68 >> ASCII-Character: h [was UNICODE: h]=
UNICODE 0069 >> ASCII 69 >> ASCII-Character: i [was UNICODE: i]=
UNICODE 006A >> ASCII 6A >> ASCII-Character: j [was UNICODE: j]=
UNICODE 006B >> ASCII 6B >> ASCII-Character: k [was UNICODE: k]=
UNICODE 006C >> ASCII 6C >> ASCII-Character: l [was UNICODE: l]=
UNICODE 006D >> ASCII 6D >> ASCII-Character: m [was UNICODE: m]=
UNICODE 006E >> ASCII 6E >> ASCII-Character: n [was UNICODE: n]=
UNICODE 006F >> ASCII 6F >> ASCII-Character: o [was UNICODE: o]=
UNICODE 0070 >> ASCII 70 >> ASCII-Character: p [was UNICODE: p]=
UNICODE 0071 >> ASCII 71 >> ASCII-Character: q [was UNICODE: q]=
UNICODE 0072 >> ASCII 72 >> ASCII-Character: r [was UNICODE: r]=
UNICODE 0073 >> ASCII 73 >> ASCII-Character: s [was UNICODE: s]=
UNICODE 0074 >> ASCII 74 >> ASCII-Character: t [was UNICODE: t]=
UNICODE 0075 >> ASCII 75 >> ASCII-Character: u [was UNICODE: u]=
UNICODE 0076 >> ASCII 76 >> ASCII-Character: v [was UNICODE: v]=
UNICODE 0077 >> ASCII 77 >> ASCII-Character: w [was UNICODE: w]=
UNICODE 0078 >> ASCII 78 >> ASCII-Character: x [was UNICODE: x]=
UNICODE 0079 >> ASCII 79 >> ASCII-Character: y [was UNICODE: y]=
UNICODE 007A >> ASCII 7A >> ASCII-Character: z [was UNICODE: z]=
UNICODE 007B >> ASCII 7B >> ASCII-Character: { [was UNICODE: {]=
UNICODE 007C >> ASCII 7C >> ASCII-Character: | [was UNICODE: |]=
UNICODE 007D >> ASCII 7D >> ASCII-Character: } [was UNICODE: }]=
UNICODE 007E >> ASCII 7E >> ASCII-Character: ~ [was UNICODE: ~]=
UNICODE 007F >> ASCII 7F >> ASCII-Character:  [was UNICODE: ]=
UNICODE 0080 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: €]*
UNICODE 0081 >> ASCII 81 >> ASCII-Character:  [was UNICODE: ]=
UNICODE 0082 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ‚]*
UNICODE 0083 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƒ]*
UNICODE 0084 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: „]*
UNICODE 0085 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: …]*
UNICODE 0086 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: †]*
UNICODE 0087 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ‡]*
UNICODE 0088 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ˆ]*
UNICODE 0089 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ‰]*
UNICODE 008A >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Š]*
UNICODE 008B >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ‹]*
UNICODE 008C >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Œ]*
UNICODE 008D >> ASCII 8D >> ASCII-Character:  [was UNICODE: ]=
UNICODE 008E >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ž]*
UNICODE 008F >> ASCII 8F >> ASCII-Character:  [was UNICODE: ]=
UNICODE 0090 >> ASCII 90 >> ASCII-Character:  [was UNICODE: ]=
UNICODE 0091 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ‘]*
UNICODE 0092 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ’]*
UNICODE 0093 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: “]*
UNICODE 0094 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ”]*
UNICODE 0095 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: •]*
UNICODE 0096 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: –]*
UNICODE 0097 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: —]*
UNICODE 0098 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ˜]*
UNICODE 0099 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ™]*
UNICODE 009A >> ASCII 3F >> ASCII-Character: ? [was UNICODE: š]*
UNICODE 009B >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ›]*
UNICODE 009C >> ASCII 3F >> ASCII-Character: ? [was UNICODE: œ]*
UNICODE 009D >> ASCII 9D >> ASCII-Character:  [was UNICODE: ]=
UNICODE 009E >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ž]*
UNICODE 009F >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ÿ]*
UNICODE 00A0 >> ASCII A0 >> ASCII-Character:   [was UNICODE:  ]=
UNICODE 00A1 >> ASCII A1 >> ASCII-Character: ¡ [was UNICODE: ¡]=
UNICODE 00A2 >> ASCII A2 >> ASCII-Character: ¢ [was UNICODE: ¢]=
UNICODE 00A3 >> ASCII A3 >> ASCII-Character: £ [was UNICODE: £]=
UNICODE 00A4 >> ASCII A4 >> ASCII-Character: ¤ [was UNICODE: ¤]=
UNICODE 00A5 >> ASCII A5 >> ASCII-Character: ¥ [was UNICODE: ¥]=
UNICODE 00A6 >> ASCII A6 >> ASCII-Character: ¦ [was UNICODE: ¦]=
UNICODE 00A7 >> ASCII A7 >> ASCII-Character: § [was UNICODE: §]=
UNICODE 00A8 >> ASCII A8 >> ASCII-Character: ¨ [was UNICODE: ¨]=
UNICODE 00A9 >> ASCII A9 >> ASCII-Character: © [was UNICODE: ©]=
UNICODE 00AA >> ASCII AA >> ASCII-Character: ª [was UNICODE: ª]=
UNICODE 00AB >> ASCII AB >> ASCII-Character: « [was UNICODE: «]=
UNICODE 00AC >> ASCII AC >> ASCII-Character: ¬ [was UNICODE: ¬]=
UNICODE 00AD >> ASCII AD >> ASCII-Character: ­ [was UNICODE: ­]=
UNICODE 00AE >> ASCII AE >> ASCII-Character: ® [was UNICODE: ®]=
UNICODE 00AF >> ASCII AF >> ASCII-Character: ¯ [was UNICODE: ¯]=
UNICODE 00B0 >> ASCII B0 >> ASCII-Character: ° [was UNICODE: °]=
UNICODE 00B1 >> ASCII B1 >> ASCII-Character: ± [was UNICODE: ±]=
UNICODE 00B2 >> ASCII B2 >> ASCII-Character: ² [was UNICODE: ²]=
UNICODE 00B3 >> ASCII B3 >> ASCII-Character: ³ [was UNICODE: ³]=
UNICODE 00B4 >> ASCII B4 >> ASCII-Character: ´ [was UNICODE: ´]=
UNICODE 00B5 >> ASCII B5 >> ASCII-Character: µ [was UNICODE: µ]=
UNICODE 00B6 >> ASCII B6 >> ASCII-Character: ¶ [was UNICODE: ¶]=
UNICODE 00B7 >> ASCII B7 >> ASCII-Character: · [was UNICODE: ·]=
UNICODE 00B8 >> ASCII B8 >> ASCII-Character: ¸ [was UNICODE: ¸]=
UNICODE 00B9 >> ASCII B9 >> ASCII-Character: ¹ [was UNICODE: ¹]=
UNICODE 00BA >> ASCII BA >> ASCII-Character: º [was UNICODE: º]=
UNICODE 00BB >> ASCII BB >> ASCII-Character: » [was UNICODE: »]=
UNICODE 00BC >> ASCII BC >> ASCII-Character: ¼ [was UNICODE: ¼]=
UNICODE 00BD >> ASCII BD >> ASCII-Character: ½ [was UNICODE: ½]=
UNICODE 00BE >> ASCII BE >> ASCII-Character: ¾ [was UNICODE: ¾]=
UNICODE 00BF >> ASCII BF >> ASCII-Character: ¿ [was UNICODE: ¿]=
UNICODE 00C0 >> ASCII C0 >> ASCII-Character: À [was UNICODE: À]=
UNICODE 00C1 >> ASCII C1 >> ASCII-Character: Á [was UNICODE: Á]=
UNICODE 00C2 >> ASCII C2 >> ASCII-Character: Â [was UNICODE: Â]=
UNICODE 00C3 >> ASCII C3 >> ASCII-Character: Ã [was UNICODE: Ã]=
UNICODE 00C4 >> ASCII C4 >> ASCII-Character: Ä [was UNICODE: Ä]=
UNICODE 00C5 >> ASCII C5 >> ASCII-Character: Å [was UNICODE: Å]=
UNICODE 00C6 >> ASCII C6 >> ASCII-Character: Æ [was UNICODE: Æ]=
UNICODE 00C7 >> ASCII C7 >> ASCII-Character: Ç [was UNICODE: Ç]=
UNICODE 00C8 >> ASCII C8 >> ASCII-Character: È [was UNICODE: È]=
UNICODE 00C9 >> ASCII C9 >> ASCII-Character: É [was UNICODE: É]=
UNICODE 00CA >> ASCII CA >> ASCII-Character: Ê [was UNICODE: Ê]=
UNICODE 00CB >> ASCII CB >> ASCII-Character: Ë [was UNICODE: Ë]=
UNICODE 00CC >> ASCII CC >> ASCII-Character: Ì [was UNICODE: Ì]=
UNICODE 00CD >> ASCII CD >> ASCII-Character: Í [was UNICODE: Í]=
UNICODE 00CE >> ASCII CE >> ASCII-Character: Î [was UNICODE: Î]=
UNICODE 00CF >> ASCII CF >> ASCII-Character: Ï [was UNICODE: Ï]=
UNICODE 00D0 >> ASCII D0 >> ASCII-Character: Ð [was UNICODE: Ð]=
UNICODE 00D1 >> ASCII D1 >> ASCII-Character: Ñ [was UNICODE: Ñ]=
UNICODE 00D2 >> ASCII D2 >> ASCII-Character: Ò [was UNICODE: Ò]=
UNICODE 00D3 >> ASCII D3 >> ASCII-Character: Ó [was UNICODE: Ó]=
UNICODE 00D4 >> ASCII D4 >> ASCII-Character: Ô [was UNICODE: Ô]=
UNICODE 00D5 >> ASCII D5 >> ASCII-Character: Õ [was UNICODE: Õ]=
UNICODE 00D6 >> ASCII D6 >> ASCII-Character: Ö [was UNICODE: Ö]=
UNICODE 00D7 >> ASCII D7 >> ASCII-Character: × [was UNICODE: ×]=
UNICODE 00D8 >> ASCII D8 >> ASCII-Character: Ø [was UNICODE: Ø]=
UNICODE 00D9 >> ASCII D9 >> ASCII-Character: Ù [was UNICODE: Ù]=
UNICODE 00DA >> ASCII DA >> ASCII-Character: Ú [was UNICODE: Ú]=
UNICODE 00DB >> ASCII DB >> ASCII-Character: Û [was UNICODE: Û]=
UNICODE 00DC >> ASCII DC >> ASCII-Character: Ü [was UNICODE: Ü]=
UNICODE 00DD >> ASCII DD >> ASCII-Character: Ý [was UNICODE: Ý]=
UNICODE 00DE >> ASCII DE >> ASCII-Character: Þ [was UNICODE: Þ]=
UNICODE 00DF >> ASCII DF >> ASCII-Character: ß [was UNICODE: ß]=
UNICODE 00E0 >> ASCII E0 >> ASCII-Character: à [was UNICODE: à]=
UNICODE 00E1 >> ASCII E1 >> ASCII-Character: á [was UNICODE: á]=
UNICODE 00E2 >> ASCII E2 >> ASCII-Character: â [was UNICODE: â]=
UNICODE 00E3 >> ASCII E3 >> ASCII-Character: ã [was UNICODE: ã]=
UNICODE 00E4 >> ASCII E4 >> ASCII-Character: ä [was UNICODE: ä]=
UNICODE 00E5 >> ASCII E5 >> ASCII-Character: å [was UNICODE: å]=
UNICODE 00E6 >> ASCII E6 >> ASCII-Character: æ [was UNICODE: æ]=
UNICODE 00E7 >> ASCII E7 >> ASCII-Character: ç [was UNICODE: ç]=
UNICODE 00E8 >> ASCII E8 >> ASCII-Character: è [was UNICODE: è]=
UNICODE 00E9 >> ASCII E9 >> ASCII-Character: é [was UNICODE: é]=
UNICODE 00EA >> ASCII EA >> ASCII-Character: ê [was UNICODE: ê]=
UNICODE 00EB >> ASCII EB >> ASCII-Character: ë [was UNICODE: ë]=
UNICODE 00EC >> ASCII EC >> ASCII-Character: ì [was UNICODE: ì]=
UNICODE 00ED >> ASCII ED >> ASCII-Character: í [was UNICODE: í]=
UNICODE 00EE >> ASCII EE >> ASCII-Character: î [was UNICODE: î]=
UNICODE 00EF >> ASCII EF >> ASCII-Character: ï [was UNICODE: ï]=
UNICODE 00F0 >> ASCII F0 >> ASCII-Character: ð [was UNICODE: ð]=
UNICODE 00F1 >> ASCII F1 >> ASCII-Character: ñ [was UNICODE: ñ]=
UNICODE 00F2 >> ASCII F2 >> ASCII-Character: ò [was UNICODE: ò]=
UNICODE 00F3 >> ASCII F3 >> ASCII-Character: ó [was UNICODE: ó]=
UNICODE 00F4 >> ASCII F4 >> ASCII-Character: ô [was UNICODE: ô]=
UNICODE 00F5 >> ASCII F5 >> ASCII-Character: õ [was UNICODE: õ]=
UNICODE 00F6 >> ASCII F6 >> ASCII-Character: ö [was UNICODE: ö]=
UNICODE 00F7 >> ASCII F7 >> ASCII-Character: ÷ [was UNICODE: ÷]=
UNICODE 00F8 >> ASCII F8 >> ASCII-Character: ø [was UNICODE: ø]=
UNICODE 00F9 >> ASCII F9 >> ASCII-Character: ù [was UNICODE: ù]=
UNICODE 00FA >> ASCII FA >> ASCII-Character: ú [was UNICODE: ú]=
UNICODE 00FB >> ASCII FB >> ASCII-Character: û [was UNICODE: û]=
UNICODE 00FC >> ASCII FC >> ASCII-Character: ü [was UNICODE: ü]=
UNICODE 00FD >> ASCII FD >> ASCII-Character: ý [was UNICODE: ý]=
UNICODE 00FE >> ASCII FE >> ASCII-Character: þ [was UNICODE: þ]=
UNICODE 00FF >> ASCII FF >> ASCII-Character: ÿ [was UNICODE: ÿ]=
UNICODE 0100 >> ASCII 41 >> ASCII-Character: A [was UNICODE: Ā]*
UNICODE 0101 >> ASCII 61 >> ASCII-Character: a [was UNICODE: ā]*
UNICODE 0102 >> ASCII 41 >> ASCII-Character: A [was UNICODE: Ă]*
UNICODE 0103 >> ASCII 61 >> ASCII-Character: a [was UNICODE: ă]*
UNICODE 0104 >> ASCII 41 >> ASCII-Character: A [was UNICODE: Ą]*
UNICODE 0105 >> ASCII 61 >> ASCII-Character: a [was UNICODE: ą]*
UNICODE 0106 >> ASCII 43 >> ASCII-Character: C [was UNICODE: Ć]*
UNICODE 0107 >> ASCII 63 >> ASCII-Character: c [was UNICODE: ć]*
UNICODE 0108 >> ASCII 43 >> ASCII-Character: C [was UNICODE: Ĉ]*
UNICODE 0109 >> ASCII 63 >> ASCII-Character: c [was UNICODE: ĉ]*
UNICODE 010A >> ASCII 43 >> ASCII-Character: C [was UNICODE: Ċ]*
UNICODE 010B >> ASCII 63 >> ASCII-Character: c [was UNICODE: ċ]*
UNICODE 010C >> ASCII 43 >> ASCII-Character: C [was UNICODE: Č]*
UNICODE 010D >> ASCII 63 >> ASCII-Character: c [was UNICODE: č]*
UNICODE 010E >> ASCII 44 >> ASCII-Character: D [was UNICODE: Ď]*
UNICODE 010F >> ASCII 64 >> ASCII-Character: d [was UNICODE: ď]*
UNICODE 0110 >> ASCII D0 >> ASCII-Character: Ð [was UNICODE: Đ]*
UNICODE 0111 >> ASCII 64 >> ASCII-Character: d [was UNICODE: đ]*
UNICODE 0112 >> ASCII 45 >> ASCII-Character: E [was UNICODE: Ē]*
UNICODE 0113 >> ASCII 65 >> ASCII-Character: e [was UNICODE: ē]*
UNICODE 0114 >> ASCII 45 >> ASCII-Character: E [was UNICODE: Ĕ]*
UNICODE 0115 >> ASCII 65 >> ASCII-Character: e [was UNICODE: ĕ]*
UNICODE 0116 >> ASCII 45 >> ASCII-Character: E [was UNICODE: Ė]*
UNICODE 0117 >> ASCII 65 >> ASCII-Character: e [was UNICODE: ė]*
UNICODE 0118 >> ASCII 45 >> ASCII-Character: E [was UNICODE: Ę]*
UNICODE 0119 >> ASCII 65 >> ASCII-Character: e [was UNICODE: ę]*
UNICODE 011A >> ASCII 45 >> ASCII-Character: E [was UNICODE: Ě]*
UNICODE 011B >> ASCII 65 >> ASCII-Character: e [was UNICODE: ě]*
UNICODE 011C >> ASCII 47 >> ASCII-Character: G [was UNICODE: Ĝ]*
UNICODE 011D >> ASCII 67 >> ASCII-Character: g [was UNICODE: ĝ]*
UNICODE 011E >> ASCII 47 >> ASCII-Character: G [was UNICODE: Ğ]*
UNICODE 011F >> ASCII 67 >> ASCII-Character: g [was UNICODE: ğ]*
UNICODE 0120 >> ASCII 47 >> ASCII-Character: G [was UNICODE: Ġ]*
UNICODE 0121 >> ASCII 67 >> ASCII-Character: g [was UNICODE: ġ]*
UNICODE 0122 >> ASCII 47 >> ASCII-Character: G [was UNICODE: Ģ]*
UNICODE 0123 >> ASCII 67 >> ASCII-Character: g [was UNICODE: ģ]*
UNICODE 0124 >> ASCII 48 >> ASCII-Character: H [was UNICODE: Ĥ]*
UNICODE 0125 >> ASCII 68 >> ASCII-Character: h [was UNICODE: ĥ]*
UNICODE 0126 >> ASCII 48 >> ASCII-Character: H [was UNICODE: Ħ]*
UNICODE 0127 >> ASCII 68 >> ASCII-Character: h [was UNICODE: ħ]*
UNICODE 0128 >> ASCII 49 >> ASCII-Character: I [was UNICODE: Ĩ]*
UNICODE 0129 >> ASCII 69 >> ASCII-Character: i [was UNICODE: ĩ]*
UNICODE 012A >> ASCII 49 >> ASCII-Character: I [was UNICODE: Ī]*
UNICODE 012B >> ASCII 69 >> ASCII-Character: i [was UNICODE: ī]*
UNICODE 012C >> ASCII 49 >> ASCII-Character: I [was UNICODE: Ĭ]*
UNICODE 012D >> ASCII 69 >> ASCII-Character: i [was UNICODE: ĭ]*
UNICODE 012E >> ASCII 49 >> ASCII-Character: I [was UNICODE: Į]*
UNICODE 012F >> ASCII 69 >> ASCII-Character: i [was UNICODE: į]*
UNICODE 0130 >> ASCII 49 >> ASCII-Character: I [was UNICODE: İ]*
UNICODE 0131 >> ASCII 69 >> ASCII-Character: i [was UNICODE: ı]*
UNICODE 0132 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: IJ]*
UNICODE 0133 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ij]*
UNICODE 0134 >> ASCII 4A >> ASCII-Character: J [was UNICODE: Ĵ]*
UNICODE 0135 >> ASCII 6A >> ASCII-Character: j [was UNICODE: ĵ]*
UNICODE 0136 >> ASCII 4B >> ASCII-Character: K [was UNICODE: Ķ]*
UNICODE 0137 >> ASCII 6B >> ASCII-Character: k [was UNICODE: ķ]*
UNICODE 0138 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ĸ]*
UNICODE 0139 >> ASCII 4C >> ASCII-Character: L [was UNICODE: Ĺ]*
UNICODE 013A >> ASCII 6C >> ASCII-Character: l [was UNICODE: ĺ]*
UNICODE 013B >> ASCII 4C >> ASCII-Character: L [was UNICODE: Ļ]*
UNICODE 013C >> ASCII 6C >> ASCII-Character: l [was UNICODE: ļ]*
UNICODE 013D >> ASCII 4C >> ASCII-Character: L [was UNICODE: Ľ]*
UNICODE 013E >> ASCII 6C >> ASCII-Character: l [was UNICODE: ľ]*
UNICODE 013F >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ŀ]*
UNICODE 0140 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ŀ]*
UNICODE 0141 >> ASCII 4C >> ASCII-Character: L [was UNICODE: Ł]*
UNICODE 0142 >> ASCII 6C >> ASCII-Character: l [was UNICODE: ł]*
UNICODE 0143 >> ASCII 4E >> ASCII-Character: N [was UNICODE: Ń]*
UNICODE 0144 >> ASCII 6E >> ASCII-Character: n [was UNICODE: ń]*
UNICODE 0145 >> ASCII 4E >> ASCII-Character: N [was UNICODE: Ņ]*
UNICODE 0146 >> ASCII 6E >> ASCII-Character: n [was UNICODE: ņ]*
UNICODE 0147 >> ASCII 4E >> ASCII-Character: N [was UNICODE: Ň]*
UNICODE 0148 >> ASCII 6E >> ASCII-Character: n [was UNICODE: ň]*
UNICODE 0149 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ʼn]*
UNICODE 014A >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ŋ]*
UNICODE 014B >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ŋ]*
UNICODE 014C >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ō]*
UNICODE 014D >> ASCII 6F >> ASCII-Character: o [was UNICODE: ō]*
UNICODE 014E >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ŏ]*
UNICODE 014F >> ASCII 6F >> ASCII-Character: o [was UNICODE: ŏ]*
UNICODE 0150 >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ő]*
UNICODE 0151 >> ASCII 6F >> ASCII-Character: o [was UNICODE: ő]*
UNICODE 0152 >> ASCII 8C >> ASCII-Character: Œ [was UNICODE: Œ]=
UNICODE 0153 >> ASCII 9C >> ASCII-Character: œ [was UNICODE: œ]=
UNICODE 0154 >> ASCII 52 >> ASCII-Character: R [was UNICODE: Ŕ]*
UNICODE 0155 >> ASCII 72 >> ASCII-Character: r [was UNICODE: ŕ]*
UNICODE 0156 >> ASCII 52 >> ASCII-Character: R [was UNICODE: Ŗ]*
UNICODE 0157 >> ASCII 72 >> ASCII-Character: r [was UNICODE: ŗ]*
UNICODE 0158 >> ASCII 52 >> ASCII-Character: R [was UNICODE: Ř]*
UNICODE 0159 >> ASCII 72 >> ASCII-Character: r [was UNICODE: ř]*
UNICODE 015A >> ASCII 53 >> ASCII-Character: S [was UNICODE: Ś]*
UNICODE 015B >> ASCII 73 >> ASCII-Character: s [was UNICODE: ś]*
UNICODE 015C >> ASCII 53 >> ASCII-Character: S [was UNICODE: Ŝ]*
UNICODE 015D >> ASCII 73 >> ASCII-Character: s [was UNICODE: ŝ]*
UNICODE 015E >> ASCII 53 >> ASCII-Character: S [was UNICODE: Ş]*
UNICODE 015F >> ASCII 73 >> ASCII-Character: s [was UNICODE: ş]*
UNICODE 0160 >> ASCII 8A >> ASCII-Character: Š [was UNICODE: Š]=
UNICODE 0161 >> ASCII 9A >> ASCII-Character: š [was UNICODE: š]=
UNICODE 0162 >> ASCII 54 >> ASCII-Character: T [was UNICODE: Ţ]*
UNICODE 0163 >> ASCII 74 >> ASCII-Character: t [was UNICODE: ţ]*
UNICODE 0164 >> ASCII 54 >> ASCII-Character: T [was UNICODE: Ť]*
UNICODE 0165 >> ASCII 74 >> ASCII-Character: t [was UNICODE: ť]*
UNICODE 0166 >> ASCII 54 >> ASCII-Character: T [was UNICODE: Ŧ]*
UNICODE 0167 >> ASCII 74 >> ASCII-Character: t [was UNICODE: ŧ]*
UNICODE 0168 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ũ]*
UNICODE 0169 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ũ]*
UNICODE 016A >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ū]*
UNICODE 016B >> ASCII 75 >> ASCII-Character: u [was UNICODE: ū]*
UNICODE 016C >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ŭ]*
UNICODE 016D >> ASCII 75 >> ASCII-Character: u [was UNICODE: ŭ]*
UNICODE 016E >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ů]*
UNICODE 016F >> ASCII 75 >> ASCII-Character: u [was UNICODE: ů]*
UNICODE 0170 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ű]*
UNICODE 0171 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ű]*
UNICODE 0172 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ų]*
UNICODE 0173 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ų]*
UNICODE 0174 >> ASCII 57 >> ASCII-Character: W [was UNICODE: Ŵ]*
UNICODE 0175 >> ASCII 77 >> ASCII-Character: w [was UNICODE: ŵ]*
UNICODE 0176 >> ASCII 59 >> ASCII-Character: Y [was UNICODE: Ŷ]*
UNICODE 0177 >> ASCII 79 >> ASCII-Character: y [was UNICODE: ŷ]*
UNICODE 0178 >> ASCII 9F >> ASCII-Character: Ÿ [was UNICODE: Ÿ]=
UNICODE 0179 >> ASCII 5A >> ASCII-Character: Z [was UNICODE: Ź]*
UNICODE 017A >> ASCII 7A >> ASCII-Character: z [was UNICODE: ź]*
UNICODE 017B >> ASCII 5A >> ASCII-Character: Z [was UNICODE: Ż]*
UNICODE 017C >> ASCII 7A >> ASCII-Character: z [was UNICODE: ż]*
UNICODE 017D >> ASCII 8E >> ASCII-Character: Ž [was UNICODE: Ž]=
UNICODE 017E >> ASCII 9E >> ASCII-Character: ž [was UNICODE: ž]=
UNICODE 017F >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ſ]*
UNICODE 0180 >> ASCII 62 >> ASCII-Character: b [was UNICODE: ƀ]*
UNICODE 0181 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɓ]*
UNICODE 0182 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƃ]*
UNICODE 0183 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƃ]*
UNICODE 0184 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƅ]*
UNICODE 0185 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƅ]*
UNICODE 0186 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɔ]*
UNICODE 0187 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƈ]*
UNICODE 0188 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƈ]*
UNICODE 0189 >> ASCII D0 >> ASCII-Character: Ð [was UNICODE: Ɖ]*
UNICODE 018A >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɗ]*
UNICODE 018B >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƌ]*
UNICODE 018C >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƌ]*
UNICODE 018D >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƍ]*
UNICODE 018E >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǝ]*
UNICODE 018F >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ə]*
UNICODE 0190 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɛ]*
UNICODE 0191 >> ASCII 83 >> ASCII-Character: ƒ [was UNICODE: Ƒ]*
UNICODE 0192 >> ASCII 83 >> ASCII-Character: ƒ [was UNICODE: ƒ]=
UNICODE 0193 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɠ]*
UNICODE 0194 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɣ]*
UNICODE 0195 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƕ]*
UNICODE 0196 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɩ]*
UNICODE 0197 >> ASCII 49 >> ASCII-Character: I [was UNICODE: Ɨ]*
UNICODE 0198 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƙ]*
UNICODE 0199 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƙ]*
UNICODE 019A >> ASCII 6C >> ASCII-Character: l [was UNICODE: ƚ]*
UNICODE 019B >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƛ]*
UNICODE 019C >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɯ]*
UNICODE 019D >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ɲ]*
UNICODE 019E >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƞ]*
UNICODE 019F >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ɵ]*
UNICODE 01A0 >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ơ]*
UNICODE 01A1 >> ASCII 6F >> ASCII-Character: o [was UNICODE: ơ]*
UNICODE 01A2 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƣ]*
UNICODE 01A3 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƣ]*
UNICODE 01A4 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƥ]*
UNICODE 01A5 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƥ]*
UNICODE 01A6 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ʀ]*
UNICODE 01A7 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƨ]*
UNICODE 01A8 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƨ]*
UNICODE 01A9 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ʃ]*
UNICODE 01AA >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƪ]*
UNICODE 01AB >> ASCII 74 >> ASCII-Character: t [was UNICODE: ƫ]*
UNICODE 01AC >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƭ]*
UNICODE 01AD >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƭ]*
UNICODE 01AE >> ASCII 54 >> ASCII-Character: T [was UNICODE: Ʈ]*
UNICODE 01AF >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ư]*
UNICODE 01B0 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ư]*
UNICODE 01B1 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ʊ]*
UNICODE 01B2 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ʋ]*
UNICODE 01B3 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƴ]*
UNICODE 01B4 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƴ]*
UNICODE 01B5 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƶ]*
UNICODE 01B6 >> ASCII 7A >> ASCII-Character: z [was UNICODE: ƶ]*
UNICODE 01B7 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ʒ]*
UNICODE 01B8 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƹ]*
UNICODE 01B9 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƹ]*
UNICODE 01BA >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƺ]*
UNICODE 01BB >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƻ]*
UNICODE 01BC >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƽ]*
UNICODE 01BD >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƽ]*
UNICODE 01BE >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƾ]*
UNICODE 01BF >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ƿ]*
UNICODE 01C0 >> ASCII 7C >> ASCII-Character: | [was UNICODE: ǀ]*
UNICODE 01C1 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǁ]*
UNICODE 01C2 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǂ]*
UNICODE 01C3 >> ASCII 21 >> ASCII-Character: ! [was UNICODE: ǃ]*
UNICODE 01C4 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: DŽ]*
UNICODE 01C5 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Dž]*
UNICODE 01C6 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: dž]*
UNICODE 01C7 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: LJ]*
UNICODE 01C8 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Lj]*
UNICODE 01C9 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: lj]*
UNICODE 01CA >> ASCII 3F >> ASCII-Character: ? [was UNICODE: NJ]*
UNICODE 01CB >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Nj]*
UNICODE 01CC >> ASCII 3F >> ASCII-Character: ? [was UNICODE: nj]*
UNICODE 01CD >> ASCII 41 >> ASCII-Character: A [was UNICODE: Ǎ]*
UNICODE 01CE >> ASCII 61 >> ASCII-Character: a [was UNICODE: ǎ]*
UNICODE 01CF >> ASCII 49 >> ASCII-Character: I [was UNICODE: Ǐ]*
UNICODE 01D0 >> ASCII 69 >> ASCII-Character: i [was UNICODE: ǐ]*
UNICODE 01D1 >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ǒ]*
UNICODE 01D2 >> ASCII 6F >> ASCII-Character: o [was UNICODE: ǒ]*
UNICODE 01D3 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ǔ]*
UNICODE 01D4 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ǔ]*
UNICODE 01D5 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ǖ]*
UNICODE 01D6 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ǖ]*
UNICODE 01D7 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ǘ]*
UNICODE 01D8 >> ASCII 75 >> ASCII-Character: u [was UNICODE: ǘ]*
UNICODE 01D9 >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ǚ]*
UNICODE 01DA >> ASCII 75 >> ASCII-Character: u [was UNICODE: ǚ]*
UNICODE 01DB >> ASCII 55 >> ASCII-Character: U [was UNICODE: Ǜ]*
UNICODE 01DC >> ASCII 75 >> ASCII-Character: u [was UNICODE: ǜ]*
UNICODE 01DD >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǝ]*
UNICODE 01DE >> ASCII 41 >> ASCII-Character: A [was UNICODE: Ǟ]*
UNICODE 01DF >> ASCII 61 >> ASCII-Character: a [was UNICODE: ǟ]*
UNICODE 01E0 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǡ]*
UNICODE 01E1 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǡ]*
UNICODE 01E2 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǣ]*
UNICODE 01E3 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǣ]*
UNICODE 01E4 >> ASCII 47 >> ASCII-Character: G [was UNICODE: Ǥ]*
UNICODE 01E5 >> ASCII 67 >> ASCII-Character: g [was UNICODE: ǥ]*
UNICODE 01E6 >> ASCII 47 >> ASCII-Character: G [was UNICODE: Ǧ]*
UNICODE 01E7 >> ASCII 67 >> ASCII-Character: g [was UNICODE: ǧ]*
UNICODE 01E8 >> ASCII 4B >> ASCII-Character: K [was UNICODE: Ǩ]*
UNICODE 01E9 >> ASCII 6B >> ASCII-Character: k [was UNICODE: ǩ]*
UNICODE 01EA >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ǫ]*
UNICODE 01EB >> ASCII 6F >> ASCII-Character: o [was UNICODE: ǫ]*
UNICODE 01EC >> ASCII 4F >> ASCII-Character: O [was UNICODE: Ǭ]*
UNICODE 01ED >> ASCII 6F >> ASCII-Character: o [was UNICODE: ǭ]*
UNICODE 01EE >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǯ]*
UNICODE 01EF >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǯ]*
UNICODE 01F0 >> ASCII 6A >> ASCII-Character: j [was UNICODE: ǰ]*
UNICODE 01F1 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: DZ]*
UNICODE 01F2 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Dz]*
UNICODE 01F3 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: dz]*
UNICODE 01F4 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǵ]*
UNICODE 01F5 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǵ]*
UNICODE 01F6 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƕ]*
UNICODE 01F7 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ƿ]*
UNICODE 01F8 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǹ]*
UNICODE 01F9 >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǹ]*
UNICODE 01FA >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǻ]*
UNICODE 01FB >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǻ]*
UNICODE 01FC >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǽ]*
UNICODE 01FD >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǽ]*
UNICODE 01FE >> ASCII 3F >> ASCII-Character: ? [was UNICODE: Ǿ]*
UNICODE 01FF >> ASCII 3F >> ASCII-Character: ? [was UNICODE: ǿ]*

Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 6:03 pm
by miskox
Thank you all!

I will take a look (it may take a day or two).

One more note: I use CP1250 and not CP1252!

What I noticed that these conversions (to Unicode and back) occur with arrays (dim, maps...).

Why?

I already have a similar program (written in PB some time ago) and it works as expected. It was a 'dirty' port from .bat/.cmd to .pb - I was using temporary files - no arrays at all and everything is ok (characters are not changed). I wanted to make it more 'general' so I would be able to process all the columns (source file is a .csv delimited file) no matter what they are - so I started from scratch and used arrays this time (on a side note: I had a DIM with 7 levels (DIM (1,2,3,4,5,6,7) but it crashed (memory pointer exceed 2GB) - I changed that to map array and now it is ok) (I have ~ 22,000 records in a .txt file)).

Strange is this that I would not expect from the compiler/IDE/developing system to 'corrupt' data - what gets in should not be changed internally.

Now I have (at least) two options:
- convert everything to use temporary files and no arrays
- do correct conversions between unicode and CP-1250

Again, thank you all. I will take a look and see what I can do.

Saso

Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 7:26 pm
by helpy
miskox wrote: Thu Aug 12, 2021 6:03 pmStrange is this that I would not expect from the compiler/IDE/developing system to 'corrupt' data - what gets in should not be changed internally.
A 1-byte ASCII character set contains always 256 characters with the byte values 0 to 255!
Which characters these 255 byte values will represent depends on the codepage.
Obviously, PB always uses ASCII CP1252 for interpreting a 1-byte ASCII character set.

PB has always to do an internal mapping if writing or reading ASCII strings, because internal strings are always stored in 2-byte UNICODE.

[SOLVED] Re: Characters in CP852, CP1250

Posted: Thu Aug 12, 2021 8:27 pm
by miskox
Problem solved!

After some thinking I came to a conclusion that arrays can't be a cause of the problems. I checked my original .pb which works as expected. In my new .pb I added #PB_Ascii everywhere where it should be (writestring, createfile, readfile...). My original .pb has them everywhere.

Thank you all for your ideas.

Saso