Страница 1 из 1

QR-code и кириллица

Добавлено: 21 Август 2020, 8:12
morkovin
С11 + List&Label18
При распечатке латиницы в QR-code - всё нормально. При выводе кириллицы - не распознаётся.
При перекодировке кириллицы в UTF-8 - тоже не распознаётся. Перепробовал разные online сканеры. Ничего не помогло!
В чём причина? Сканеры убогие? UTF-8 какой-то неправильный? Или сабж принципиально не поддерживается?

QR-code и кириллица

Добавлено: 21 Август 2020, 9:41
Yufil
А это не оно?

In order to enter non-printable characters (binary data) in the
barcode text, they must be packaged in a special string. The data is
inserted using the ~dNNN string, whereby NNN stands for ASCII-
Code.

QR-code и кириллица

Добавлено: 21 Август 2020, 14:57
morkovin
Yufil писал(а): 21 Август 2020, 9:41 А это не оно?

[binserted using the ~dNNN string, whereby NNN stands for ASCII-
Code.[/b]
Спасибо!
Да, формировать строку надо именно так. Т.е. строка "А Б В Г" должна пересылаться в L&L как "~d208~d144 ~d208~d145 ~d208~d146 ~d208~d147".
т.е. для кириллицы это UTF-коды с префиксом ~d
Вот результат:
21.08_1.png

QR-code и кириллица

Добавлено: 21 Август 2020, 15:51
Yufil
А нельзя сюда кусочек кода с подготовкой строки для L&L? Всем полезно, даже мне :D
Когда-то давно решал эту проблему, но никаких следов не осталось :(

QR-code и кириллица

Добавлено: 21 Август 2020, 17:28
morkovin
Yufil писал(а): 21 Август 2020, 15:51 А нельзя сюда кусочек кода с подготовкой строки для L&L? Всем полезно, даже мне :D
Когда-то давно решал эту проблему, но никаких следов не осталось :(
Конечно, надо сделать универсальную процедуру, а не рутинку

Код: Выделить всё

StrToLL ROUTINE
    CLEAR(Loc:UtfStr)
    CLEAR(Loc:UTF)
    i#=1
    LOOP i#=1 TO 15                                     !LEN(klk1:F)
       
        CASE klk1:F[i#]
            OF 'А'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d144'
                 
            OF 'Б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d145'
                 
            OF 'В'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d146'
                 
            OF 'Г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d147'
                 
            OF 'Д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d148'
                 
            OF 'Е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d149'
                 
            OF 'Ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d150'
                 
            OF 'З'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d151'
                 
            OF 'И'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d152'
                 
            OF 'Й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d153'

            OF 'К'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d154'
                 
            OF 'Л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d155'
                 
            OF 'М'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d156'
                 
            OF 'Н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d157'
                 
            OF 'О'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d158'
                 
            OF 'П'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d159'
                 
            OF 'Р'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d160'
                 
            OF 'С'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d161'
                 
            OF 'Т'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d162'
                 
            OF 'У'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d163'
                 
            OF 'Ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d164'
                 
            OF 'Х'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d165'
                 
            OF 'Ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d166'
                 
            OF 'Ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d167'
                 
            OF 'Ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d168'
                                 
            OF 'Щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d169'
                                
            OF 'Ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d170'
                                 
            OF 'Ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d171'
                 
            OF 'Ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d172'
                                 
            OF 'Э'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d173'
                                
            OF 'Ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d174'
                                             
            OF 'Я'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d175'
                                             
               
            OF 'а'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d176'
                 
            OF 'б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d177'
                 
               
            OF 'в'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d178'
                 
            OF 'г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d179'
                 
            OF 'д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d180'
                 
            OF 'е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d181'
                 
            OF 'ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d182'
                 
            OF 'з'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d183'
                 
            OF 'и'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d184'
                 
            OF 'й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d185'

            OF 'к'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d186'
                 
            OF 'л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d187'
                 
            OF 'м'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d188'
                 
            OF 'н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d189'
                 
            OF 'о'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d190'
                 
            OF 'п'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d191'
                 
            OF 'р'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d128'
                 
            OF 'с'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d129'
                 
            OF 'т'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d130'
                 
            OF 'у'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d131'
                 
            OF 'ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d132'
                 
            OF 'х'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d133'
                 
            OF 'ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d134'
                 
            OF 'ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d135'
                 
            OF 'ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d136'
                                 
            OF 'щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d137'
                                
            OF 'ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d138'
                                 
            OF 'ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d139'
                 
            OF 'ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d140'
                                 
            OF 'э'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d141'
                                
            OF 'ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d142'
                                             
            OF 'я'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d143'
                                             
            OF 'Ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d101'
                 
            OF 'ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d145'
                              
            ELSE
                Loc:Utf=CLIP(Loc:Utf)&klk1:F[i#]
        END
    END !LOOP
   
    Loc:UtfStr='FIO:'&Clip(Loc:Utf)
    CLEAR(Loc:Utf)
    i#=1; j#=0
    LOOP i#=1 TO 1 !LEN(klk1:I)
      
        CASE klk1:I[i#]
            OF 'А'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d144'
                 
            OF 'Б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d145'
                 
            OF 'В'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d146'
                 
            OF 'Г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d147'
                 
            OF 'Д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d148'
                 
            OF 'Е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d149'
                 
            OF 'Ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d150'
                 
            OF 'З'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d151'
                 
            OF 'И'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d152'
                 
            OF 'Й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d153'

            OF 'К'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d154'
                 
            OF 'Л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d155'
                 
            OF 'М'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d156'
                 
            OF 'Н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d157'
                 
            OF 'О'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d158'
                 
            OF 'П'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d159'
                 
            OF 'Р'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d160'
                 
            OF 'С'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d161'
                 
            OF 'Т'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d162'
                 
            OF 'У'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d163'
                 
            OF 'Ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d164'
                 
            OF 'Х'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d165'
                 
            OF 'Ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d166'
                 
            OF 'Ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d167'
                 
            OF 'Ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d168'
                                 
            OF 'Щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d169'
                                
            OF 'Ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d170'
                                 
            OF 'Ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d171'
                 
            OF 'Ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d172'
                                 
            OF 'Э'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d173'
                                
            OF 'Ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d174'
                                             
            OF 'Я'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d175'
                                             
               
            OF 'а'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d176'
                 
            OF 'б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d177'
                 
               
            OF 'в'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d178'
                 
            OF 'г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d179'
                 
            OF 'д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d180'
                 
            OF 'е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d181'
                 
            OF 'ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d182'
                 
            OF 'з'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d183'
                 
            OF 'и'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d184'
                 
            OF 'й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d185'

            OF 'к'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d186'
                 
            OF 'л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d187'
                 
            OF 'м'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d188'
                 
            OF 'н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d189'
                 
            OF 'о'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d190'
                 
            OF 'п'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d191'
                 
            OF 'р'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d128'
                 
            OF 'с'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d129'
                 
            OF 'т'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d130'
                 
            OF 'у'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d131'
                 
            OF 'ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d132'
                 
            OF 'х'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d133'
                 
            OF 'ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d134'
                 
            OF 'ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d135'
                 
            OF 'ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d136'
                                 
            OF 'щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d137'
                                
            OF 'ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d138'
                                 
            OF 'ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d139'
                 
            OF 'ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d140'
                                 
            OF 'э'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d141'
                                
            OF 'ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d142'
                                             
            OF 'я'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d143'
                                             
            OF 'Ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d101'
                 
            OF 'ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d145'
                              
            ELSE
                Loc:Utf=CLIP(Loc:Utf)&klk1:I[i#]
        END
    END !LOOP

    Loc:UtfStr=CLIP(Loc:UtfStr)&' '&CLIP(Loc:Utf)&'.' 
    CLEAR(Loc:Utf)
    i#=1
    LOOP i#=1 TO 1  !LEN(klk1:O)
       
        CASE klk1:O[i#]
            OF 'А'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d144'
                 
            OF 'Б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d145'
                 
            OF 'В'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d146'
                 
            OF 'Г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d147'
                 
            OF 'Д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d148'
                 
            OF 'Е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d149'
                 
            OF 'Ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d150'
                 
            OF 'З'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d151'
                 
            OF 'И'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d152'
                 
            OF 'Й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d153'

            OF 'К'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d154'
                 
            OF 'Л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d155'
                 
            OF 'М'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d156'
                 
            OF 'Н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d157'
                 
            OF 'О'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d158'
                 
            OF 'П'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d159'
                 
            OF 'Р'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d160'
                 
            OF 'С'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d161'
                 
            OF 'Т'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d162'
                 
            OF 'У'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d163'
                 
            OF 'Ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d164'
                 
            OF 'Х'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d165'
                 
            OF 'Ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d166'
                 
            OF 'Ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d167'
                 
            OF 'Ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d168'
                                 
            OF 'Щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d169'
                                
            OF 'Ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d170'
                                 
            OF 'Ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d171'
                 
            OF 'Ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d172'
                                 
            OF 'Э'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d173'
                                
            OF 'Ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d174'
                                             
            OF 'Я'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d175'
            OF 'а'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d176'
                 
            OF 'б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d177'
            OF 'в'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d178'
                 
            OF 'г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d179'
                 
            OF 'д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d180'
                 
            OF 'е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d181'
                 
            OF 'ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d182'
                 
            OF 'з'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d183'
                 
            OF 'и'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d184'
                 
            OF 'й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d185'

            OF 'к'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d186'
                 
            OF 'л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d187'
                 
            OF 'м'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d188'
                 
            OF 'н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d189'
                 
            OF 'о'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d190'
                 
            OF 'п'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d191'
                 
            OF 'р'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d128'
                 
            OF 'с'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d129'
                 
            OF 'т'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d130'
                 
            OF 'у'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d131'
                 
            OF 'ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d132'
                 
            OF 'х'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d133'
                 
            OF 'ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d134'
                 
            OF 'ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d135'
                 
            OF 'ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d136'
                                 
            OF 'щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d137'
                                
            OF 'ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d138'
                                 
            OF 'ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d139'
                 
            OF 'ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d140'
            OF 'э'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d141'
            OF 'ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d142'
            OF 'я'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d143'
            OF 'Ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d101'
            OF 'ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d145'
            ELSE
                Loc:Utf=CLIP(Loc:Utf)&klk1:O[i#]
               
        END
    END !LOOP
 
    Loc:UtfStr=CLIP(Loc:UtfStr)&CLIP(Loc:UTF)&'.' 
    CLEAR(Loc:UTF)
    i#=1
    LOOP i#=1 TO LEN(AGR:Gruppa)
        CASE AGR:Gruppa[i#]
            OF 'А'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d144'
                 
            OF 'Б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d145'
                 
            OF 'В'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d146'
                 
            OF 'Г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d147'
                 
            OF 'Д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d148'
                 
            OF 'Е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d149'
                 
            OF 'Ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d150'
                 
            OF 'З'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d151'
                 
            OF 'И'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d152'
                 
            OF 'Й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d153'

            OF 'К'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d154'
                 
            OF 'Л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d155'
                 
            OF 'М'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d156'
                 
            OF 'Н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d157'
                 
            OF 'О'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d158'
                 
            OF 'П'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d159'
                 
            OF 'Р'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d160'
                 
            OF 'С'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d161'
                 
            OF 'Т'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d162'
                 
            OF 'У'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d163'
                 
            OF 'Ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d164'
                 
            OF 'Х'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d165'
                 
            OF 'Ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d166'
                 
            OF 'Ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d167'
                 
            OF 'Ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d168'
                                 
            OF 'Щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d169'
                                
            OF 'Ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d170'
                                 
            OF 'Ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d171'
                 
            OF 'Ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d172'
                                 
            OF 'Э'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d173'
                                
            OF 'Ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d174'
                                             
            OF 'Я'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d175'
                                             
               
            OF 'а'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d176'
                 
            OF 'б'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d177'
                 
               
            OF 'в'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d178'
                 
            OF 'г'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d179'
                 
            OF 'д'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d180'
                 
            OF 'е'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d181'
                 
            OF 'ж'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d182'
                 
            OF 'з'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d183'
                 
            OF 'и'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d184'
                 
            OF 'й'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d185'

            OF 'к'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d186'
                 
            OF 'л'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d187'
                 
            OF 'м'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d188'
                 
            OF 'н'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d189'
                 
            OF 'о'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d190'
                 
            OF 'п'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d191'
                 
            OF 'р'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d128'
                 
            OF 'с'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d129'
                 
            OF 'т'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d130'
                 
            OF 'у'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d131'
                 
            OF 'ф'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d132'
                 
            OF 'х'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d133'
                 
            OF 'ц'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d134'
                 
            OF 'ч'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d135'
                 
            OF 'ш'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d136'
                                 
            OF 'щ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d137'
                                
            OF 'ъ'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d138'
                                 
            OF 'ы'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d139'
                 
            OF 'ь'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d140'
                                 
            OF 'э'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d141'
                                
            OF 'ю'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d142'
                                             
            OF 'я'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d143'
                                             
            OF 'Ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d208~d101'
                 
            OF 'ё'
                Loc:Utf=CLIP(Loc:Utf)&'~d209~d145'
                              
            ELSE
                Loc:Utf=CLIP(Loc:Utf)&AGR:Gruppa[i#]
        END
    END !LOOP
     Loc:UtfStr=CLIP(Loc:UtfStr)&' Gruppa:'&CLIP(Loc:UTF) 
на каждый символ кириллицы получается десять символов. Это напрягает :(

QR-code и кириллица

Добавлено: 21 Август 2020, 18:35
Дед Пахом
У Вас косяк с буквой "ё" в четырёх местах. А ещё я бы сократил с 835 строк до примерно семи.

QR-code и кириллица

Добавлено: 22 Август 2020, 5:03
morkovin
Дед Пахом писал(а): 21 Август 2020, 18:35 У Вас косяк с буквой "ё" в четырёх местах. А ещё я бы сократил с 835 строк до примерно семи.
Спасибо!Исправил.

QR-code и кириллица

Добавлено: 27 Август 2020, 12:39
Yufil
А символы латиницы тоже можно в таком виде ?
Тогда выгоднее преобразовать строку в UTF-8, а потом побайтово вывести
C использованием класса Cstr примерно так...

Код: Выделить всё

St       Cstr
Result Cstr 
S1  String(1) 
   .... 
   St.Set( 'Входная строка с данными')
   St.ToUtf8() 
   LOOP I# = 1 To St.Len
      S1=St.S[I#]
      Result.Cat('~d' & format( Val(s1),@n03))
   END
   !  Результат находится в Result.S 

QR-code и кириллица

Добавлено: 27 Август 2020, 19:27
morkovin
Yufil писал(а): 27 Август 2020, 12:39 А символы латиницы тоже можно в таком виде ?
Тогда выгоднее преобразовать строку в UTF-8, а потом побайтово вывести
C использованием класса Cstr примерно так...
Спасибо! Проверил. Всё работает с классом CSTR.