This content is licensed under Creative Commons Attribution/Share-Alike License 3.0 (Unported). That means you may freely redistribute or modify this content under the same license conditions and must attribute the original author by placing a hyperlink from your site to this work https://planetcalc.com/8626/. Also, please do not modify any references to the original work (if any) contained in this content.
Simply open or drag the CompuServe RLE file (black and white image) into the file control below and it will be converted into SVG and shown in your browser. Handy… For a little bit of geek history and sample gallery scroll below the calculator.
Run Length Encoding and CompuServe RLE
If you google for ‘run length encoding’, you will find plenty of links, which will explain you the basics:
- pick the first character from the source
- append it to the encoded string
- count the number of subsequent occurrences and append it to destination string
- pick the next character and repeat until end of source string.
Using this logic you can easily RLE the string “aaaabbbccd” into “a4b3c2d1” getting 8 symbols instead of 10. Profit!
Of course, it gives you the profit if your data contains many sequences in which the same value occurs in many consecutive positions. But there are. For example, simple graphic images like icons.
And, in the early days of computing, the CompuServe, major commercial online service provider in the US in 80-90s, used the RLE method to compress black and white images and serve them to the terminals. RLE was used to count the dark and light pixels across a line on a screen, when write them in pairs of ASCII characters. First ASCII character denotes the number of dark pixels, and second denotes the number of light pixels. To prevent control symbols being sent to the data stream, ASCII characters were offsetted by 32, so first useable ASCII symbol was (SPACE). Since maximum ASCII character code is 127, the maximum length of consecutive dark or light pixels which can be encoded was 95 pixels. And the length could wrap on the next line, by the way. Due to this, (SPACE) was used for zero pixels, allowing you to encode more that 95 pixels of the same color in consecutive ASCII pairs (127,32), (127, 32), etc. The last piece of format is the header and the footer. The header was (ESC) code followed by GH characters (Graphic Hires) – meaning to put the terminal in hires graphics mode. The footer was (ESC)GN (Graphic Normal) – meaning to put the terminal in normal terminal mode.
Initially, RLE was implemented to handle display of the National Weather Service radar weather maps. Later, CompuServe created RLE for FBI’s 10 Most Wanted and Missing Childrens. Then users themselves started to create RLE images. They were referred as hires images – unbelievable 256 pixels across and 192 pixels down hires black and white pictures! 256X192 was the resolution of Radio Shack Color Computer, which was widely in use when CompuServe started using RLE.
Later RLE images were supplanted by GIF images (they had colors!), invented by CompuServe in 1987 and still used.
RLE format used by CompuServe looks simple enough, so I decided to write this little online RLE files viewer you can find above. Now you can look at what geeks of 80s had on their terminals.
If you know where to find more RLE images, let me know in comments. Meanwhile, here are some images found in the archive above. If you can identify what or who is shown on the picture, tell me in comments.
Disclaimer: Since they are labeled as “Author Unknown” I guess it is safe to put them here. If you can confirm your copyright, just let me know, and I’ll attribute or remove your work.