Nп/п : 18 из 100
 От   : Nil A                               2:5015/46         09 окт 24 03:49:42
 К    : Alexey Khromov                                        09 окт 24 03:59:02
 Тема : Глупый вопрос про CP866
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5015/46 6705d53a
@REPLY: 2:5030/723 67059c78
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
Hello, Alexey!

08 Oct 24 23:49, from Alexey Khromov -> Nil A:

 NA>> Почему нельзя в этом вашем фидо нарисовать все эти сердечки и
 NA>> смайлики из CP866 ниже символа пробела 0x20?
 NA>> https://en.wikipedia.org/wiki/Code_page_866
 AK> Потому что CP866 начинается с 0x80
 AK> А группа ASCII 0x00..0x1F зовется Control characters и терминальными
 AK> программами не отображается, а приводит к действиям терминала,
 AK> например табуляции или LineFeed.

 Выходит, что в фидо всё врут? Если я ставлю кодировку CP437, то я
могу смайлики рисовать, и прочие нотки, которые ДО пробела 0x20? Ну кроме
символа \001, который начинает kludge в фидо, это все знают из FTS-1.

 Звонок другу Чатову
https://chatgpt.com/share/6705d315-d1a0-8000-96cd-6dae3b981a24

 NA> I`m looking at code page 437. There are smile characters and other
 NA> "emoji" below the space 0x20 symbol. But as I understand, everything
 NA> under the space symbol are control characters, e.g 
 
 line feed and
 NA> stuff. How can I get those smile characters using cp437 then?

 You`re absolutely right that the bytes under 0x20 in code page 437
(CP437) correspond to control characters like line feed (
), carriage return (
 ), etc. These control characters are not directly displayable as
symbols or glyphs because they are used for controlling text flow and
formatting rather than visual representation.

 However, the smiley faces and other graphical characters you`re
referring to (like ? and ?) actually start after 0x20, specifically from 0x01
to 0x1F. Normally, these positions in modern character encodings are
reserved for control characters, but in CP437 they are mapped to visual
symbols.

To access these smiley characters, you`d need to:
 1. Use the byte values directly from 0x01 to 0x1F when encoding
strings using CP437.
 2. Interpret or display them in an environment that understands
CP437, such as older DOS systems or software designed to emulate the CP437
font and encoding.

 Here`s an example in Python to print those characters by
interpreting them as CP437:

# Python 3 example to print CP437 smiley characters
smiley_bytes = bytes([0x01, 0x02])  # ? and ? (CP437 values)
print(smiley_bytes.decode(`cp437`))  # Decode using CP437 encoding
...


Кстати, питоновский код реально смайлики рисует.

--- GoldED+/LNX 1.1.5-b20240306
 * Origin: FidoNet member since 1995 (2:5015/46)
SEEN-BY: 50/109 104/117 221/6 240/1120 301/1 341/66
451/31 452/28 166 455/19
SEEN-BY: 463/68 467/888 4500/1 5000/111 5001/100
5005/49 5015/42 46 120 255
SEEN-BY: 5019/40 400 5020/113 545 620 715 828 830
846 848 1042 2992 4441
SEEN-BY: 5020/12000 5022/128 5030/49 115 1081 1474
5053/51 55 5054/8 89
SEEN-BY: 5058/104 5060/900 5061/133 5066/18 5068/45
5083/1 444 6090/1
@PATH: 5015/46 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх