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.
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 to 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 the destination string
- pick the next character and repeat until the end of the 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.
In the early days of computing, CompuServe, a major commercial online service provider in the US in the 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. The first ASCII character denotes the number of dark pixels, and the second denotes the number of light pixels. To prevent control symbols from being sent to the data stream, ASCII characters were offset by 32, so the first useable ASCII symbol was (SPACE). Since the maximum ASCII character code is 127, the maximum length of consecutive dark or light pixels that 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 than 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 the display of the National Weather Service radar weather maps. Later, CompuServe created RLE for the FBI’s 10 Most Wanted and Missing Children. Then users themselves started to create RLE images. They were referred to 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 used when CompuServe started using RLE.
Later RLE images were supplanted by GIF images (they had colors!), invented by CompuServe in 1987 and still used.
CompuServe's RLE format 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 the 80s had on their terminals.
If you know where to find more RLE images, let me know in the comments. Meanwhile, here are some images found in the archive above. If you can identify what is shown in the picture, let me know in the 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.