{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/ascii/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/ascii/", "feed_url": "https://matoken.org/blog/tag/ascii/feed/json/", "language": "ja", "title": "ascii – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=2850", "url": "https://matoken.org/blog/2020/07/31/converting-binary-to-text-with-base91-a-little-more-efficiently/", "title": "basE91\u3067\u5c11\u3057\u52b9\u7387\u3088\u304f\u30d0\u30a4\u30ca\u30ea\u3092\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db", "content_html": "
\u30d0\u30a4\u30ca\u30ea\u3092\u5229\u7528\u3067\u304d\u306a\u3044\u74b0\u5883\u3067\u306e\u30c7\u30fc\u30bf\u8ee2\u9001\u6642\u306bUNIX\u74b0\u5883\u3067\u306f\u53e4\u304f\u306f uudecode, uuencode \u304c\uff0c\u65e5\u672c\u306e\u30d1\u30bd\u30b3\u30f3\u901a\u4fe1\u3067\u306f ish \u306a\u3069\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3057\u305f\uff0e\u8fd1\u9803\u306f base64 \u304c\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u3088\u3046\u306b\u611f\u3058\u307e\u3059\uff0e
\u3053\u308c\u3089\u306e\u30c4\u30fc\u30eb\u3067\u306f\u30d0\u30a4\u30ca\u30ea\u3092ASCII\u3067\u8868\u73fe\u3059\u308b\u305f\u3081\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u3067\u3082\u5168\u3066\u306eASCII\u3092\u4f7f\u3063\u3066\u3044\u307e\u305b\u3093\uff0e
\n\u4eca\u56de\u898b\u3064\u3051\u305fbasE91\u306fASCII\u306e0x21-0x7E\u306e\u3046\u3061 -, \\, ' \u3092\u9664\u3044\u305f91\u6587\u5b57\u3092\u4f7f\u3063\u3066\u30c7\u30b3\u30fc\u30c9\u3059\u308b\u3053\u3068\u3067\u52b9\u7387\u3088\u304f\u3059\u308b\u3082\u306e\u306e\u3088\u3046\u3067\u3059\uff0e
\u65e9\u901f\u8a66\u3057\u3066\u307f\u307e\u3059\uff0eDebian\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u306a\u3044\u304b\u306a\u3068\u63a2\u3057\u307e\u3057\u305f\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\n(\u4ee5\u524d\u8981\u671b\u3055\u308c\u305f\u3053\u3068\u306f\u3042\u308b\u3088\u3046 #706078 – RFP: base91\u2009\u2014\u2009base91 encoder/decoder – Debian Bug report logs )
\nsource\u3092\u8cb0\u3063\u3066\u304d\u3066make\u3057\u307e\u3059\uff0e
\n\u203bhash\u306f\u300c basE91 – Browse /basE91/0.6.0 at SourceForge.net \u300d\u3067\u78ba\u8a8d\u3067\u304d\u308b\uff0e
$ wget http://downloads.sourceforge.net/base91/base91-0.6.0.tar.gz\n$ md5sum base91-0.6.0.tar.gz\ne227841d900cc463a162bd79775aeb54 base91-0.6.0.tar.gz\n$ sha1sum base91-0.6.0.tar.gz\n00cfd573ec8b3d0160dbf53e2c7a49b99a1aa720 base91-0.6.0.tar.gz\n$ tar tvf base91-0.6.0.tar.gz\n-rw-r--r-- 0/0 575 2005-06-25 00:00 base91-0.6.0/AWK/README\n-rwxr-xr-x 0/0 727 2006-11-02 05:13 base91-0.6.0/AWK/b91dec.awk\n-rw-r--r-- 0/0 932 2006-09-04 03:00 base91-0.6.0/PHP4/README\n-rw-r--r-- 0/0 1513 2006-11-02 05:13 base91-0.6.0/PHP4/base91.php\n-rw-r--r-- 0/0 149 2006-09-04 03:00 base91-0.6.0/test/Makefile\n-rw-r--r-- 0/0 4265 2006-11-02 05:13 base91-0.6.0/test/test.sh\n-rw-r--r-- 0/0 332 2006-08-25 17:00 base91-0.6.0/DOS-asm/readme.txt\n-rw-r--r-- 0/0 3487 2006-11-02 05:13 base91-0.6.0/DOS-asm/b91enc.asm\n-rw-r--r-- 0/0 5034 2006-11-02 05:13 base91-0.6.0/Java/b91cli.java\n-rw-r--r-- 0/0 3297 2006-11-02 05:13 base91-0.6.0/Java/basE91.java\n-rw-r--r-- 0/0 1526 2006-11-02 05:13 base91-0.6.0/Java/license.txt\n-rw-r--r-- 0/0 793 2006-11-02 05:13 base91-0.6.0/Java/readme.txt\n-rw-r--r-- 0/0 112 2006-09-04 03:00 base91-0.6.0/Java/manifest.mf\n-rwxr-xr-x 0/0 178 2006-11-02 05:13 base91-0.6.0/Java/build_jar.sh\n-rw-r--r-- 0/0 7502 2006-11-02 05:13 base91-0.6.0/cli.c\n-rw-r--r-- 0/0 5066 2006-11-02 05:13 base91-0.6.0/base91.c\n-rw-r--r-- 0/0 1501 2006-11-02 05:13 base91-0.6.0/LICENSE\n-rw-r--r-- 0/0 561 2006-11-02 05:13 base91-0.6.0/base91.h\n-rw-r--r-- 0/0 2360 2006-11-02 05:13 base91-0.6.0/README\n-rw-r--r-- 0/0 1762 2006-11-02 05:13 base91-0.6.0/base91.1\n-rw-r--r-- 0/0 903 2006-09-04 03:00 base91-0.6.0/Makefile\n-rw-r--r-- 0/0 2330 2006-11-02 05:13 base91-0.6.0/NEWS\n$ tar xf base91-0.6.0.tar.gz\n$ cd base91-0.6.0\n$ make\n$ ./base91 -h\nUsage: base91 [OPTION]... [FILE]\nbasE91 encode or decode FILE, or standard input, to standard output.\n\n -d, --decode decode data\n -m SIZE use SIZE bytes of memory for buffers (suffixes b, K, M)\n -o, --output=FILE write to FILE instead of standard output\n -v, --verbose verbose mode\n -w, --wrap=COLS wrap encoded lines after COLS characters (default 76)\n --help display this help and exit\n --version output version information and exit\n\nWith no FILE, or when FILE is -, read standard input.\nencode\u3057\u3066decode\u3057\u3066\u307f\u307e\u3059\uff0e
\n\u5f53\u305f\u308a\u524d\u3067\u3059\u304c\uff0cencode, decode\u3057\u3066\u3082diff\u3082hash\u3082\u540c\u3058\u3067\u3059\uff0e
$ ./base91 ./base91 -o ./base91.base91\n$ ./base91 -d ./base91.base91 -o ./base91.tmp\n$ diff ./base91 ./base91.tmp\n$ sha512sum ./base91\nbc903be7c5b694841a9d0303351846f80f4798ad8848e8f298cf2c4818c68a2270b065db495b969503b25cdf672632e1cced18094f935fed47b75718c3c3e976 ./base91\n$ ./base91 ./base91 | ./base91 -d | sha512sum\nbc903be7c5b694841a9d0303351846f80f4798ad8848e8f298cf2c4818c68a2270b065db495b969503b25cdf672632e1cced18094f935fed47b75718c3c3e976 -\nbasE91, base64, base32, uudecode \u3067\u5909\u63db\u3057\u3066\u307f\u307e\u3059\uff0e
\nbasE91 \u304c\u4e00\u756a\u5c0f\u3055\u3044\u3067\u3059\u306d
$ ls --block-size=1 -s ./base91\n16384 ./base91\n$ ./base91 ./base91 | wc -c\n17340\n$ base64 ./base91 | wc -c\n19615\n$ uuencode ./base91 - | wc -c\n20024\n$ base32 ./base91 | wc -c\n23538\n\u5727\u7e2e\u3059\u308b\u3068\u5927\u5206\u5c0f\u3055\u304f\u306a\u308a\u307e\u3059\uff0e\u5727\u7e2e\u306e\u307b\u3046\u304c\u305a\u3063\u3068\u52b9\u304d\u307e\u3059\u306d\uff0e
\n$ xz -c ./base91 | wc -c\n4528\n$ xz -c ./base91 | ./base91 | wc -c\n5640\n$ xz -c ./base91 | base64 | wc -c\n6120\n$ xz -c ./base91 | uuencode - | wc -c\n6260\n$ xz -c ./base91 | base32 | wc -c\n7344\n\u4ed6\u306e\u30d5\u30a1\u30a4\u30eb\u3082\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e/usr/bin \u4ee5\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u9069\u5f53\u306b\u898b\u7e55\u3063\u3066\u6bd4\u8f03x5\u3067\u3059\uff0e
#!/bin/bash\n\nXZ=`mktemp`\nfor i in `seq 1 5`\ndo\n CMD=`find /usr/bin -type f | shuf -n 1`\n echo $CMD\n echo -n \"raw \"\n stat -c %s $CMD\n xz -9 -c $CMD > $XZ\n echo -n \"xz \"\n stat -c %s $XZ\n echo -n \"xz.uu \"\n uuencode $XZ - | wc -c\n echo -n \"xz.base64 \"\n base64 $XZ | wc -c\n echo -n \"xz.base91 \"\n base91 $XZ | wc -c\ndone\nrm $XZ\n$ bash ./bin2ascii.bash | column -t\n/usr/bin/lxc-snapshot\nraw 27632\nxz 6756\nxz.uu 9328\nxz.base64 9127\nxz.base91 8418\n/usr/bin/dh_installtmpfiles\nraw 3263\nxz 1540\nxz.uu 2144\nxz.base64 2084\nxz.base91 1917\n/usr/bin/pbmtogo\nraw 10384\nxz 3164\nxz.uu 4380\nxz.base64 4276\nxz.base91 3942\n/usr/bin/chartread\nraw 3966528\nxz 772956\nxz.uu 1064980\nxz.base64 1044169\nxz.base91 963047\n/usr/bin/spamassassin\nraw 29898\nxz 9608\nxz.uu 13258\nxz.base64 12981\nxz.base91 11971\n\u304a\u307e\u3051?armel\u3067static link\u306a\u30d0\u30a4\u30ca\u30ea\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\uff0eSipeed Lichee Nano \u3067\u52d5\u304b\u306a\u3044\u304b\u306a?\u3068\uff0e
\n$ git diff HEAD~~ Makefile\ndiff --git a/Makefile b/Makefile\nindex 246aede..129acff 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1,7 +1,7 @@\n-CFLAGS = -Wall -W -O2\n-LDFLAGS = -s\n+CFLAGS = -static -Wall -W -O2\n+LDFLAGS = -static -s\n\n-CC = gcc\n+CC = arm-linux-gnueabi-gcc\n INSTALL = install\n INSTALL_DATA = $(INSTALL) -m 444\n INSTALL_PROGRAM = $(INSTALL) -m 555\nqemu-arm-static \u3067\u306f\u52d5\u304f\u306e\u3092\u78ba\u8a8d\u3057\u305f\u3051\u3069\u5b9f\u6a5f\u3067\u306f\u672a\u78ba\u8a8d\u3067\u3059\uff0e
$ file ./base91\n./base91: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, BuildID[sha1]=88ec4ccbf69c4bb41640b5de63b6b5373b7e5365, for GNU/Linux 3.2.0, stripped\n$ ldd ./base91\n not a dynamic executable\n$ echo 😺 | qemu-arm-static ./base91 | pee cat \"qemu-arm-static ./base91 -d\"\n=~m6xHA\n😺\n\u4ee5\u4e0b\u306b\u30d0\u30a4\u30ca\u30ea\u3068uuencode\u3057\u305f\u3082\u306e\u304c\u7f6e\u3044\u3066\u3042\u308a\u307e\u3059\uff0e
\nblog\u5143\u306ememo
\n$ dpkg-query -W gcc-10-arm-linux-gnueabi qemu-user-static gcc coreutils sharutils\ncoreutils 8.32-3\ngcc 4:10.1.0-1\ngcc-10-arm-linux-gnueabi 10.2.0-3cross2\nqemu-user-static 1:5.0-13\nsharutils 1:4.15.2-5\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64\n
\u3055\u3063\u304d
\n\u3068\u3044\u3046\u306e\u3092\u66f8\u304d\u307e\u3057\u305f\u304c\uff0c\u306a\u3093\u3068\u306a\u304fRaspberry Pi B+ \u306e Raspbian jessie lite \u3067\u3082`hiptext`\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n$ sudo apt install build-essential libpng12-dev libjpeg-dev libfreetype6-dev libgif-dev ragel libavformat-dev libavcodec-dev libswscale-dev libgflags-dev libgoogle-glog-dev git\r\n$ git clone https://github.com/jart/hiptext.git\r\n$ cd hiptext\r\n$ time make\r\n :\r\nreal 22m7.443s\r\nuser 21m53.190s\r\nsys 0m8.910s\n
\u3066\u611f\u3058\u3067\u307b\u307cREADME\u306e\u307e\u307emake\u4e00\u767a\u3067\u3057\u305f\uff0e\u9055\u3063\u305f\u306e\u306f\u5c0e\u5165\u30d1\u30c3\u30b1\u30fc\u30b8\u306b`git`\u304c\u5fc5\u8981\u3060\u3063\u305f\u304f\u3089\u3044\u3067\u3059\uff0e
\n\u601d\u3044\u306e\u5916make\u306b\u6642\u9593\u304c\u639b\u304b\u308a\u307e\u3057\u305f\u304cRaspberry Pi B+\u3067\u8a66\u3057\u3066\u3044\u308b\u306e\u30672B\u30843B\u3060\u3068\u3082\u3063\u3068\u901f\u3044\u3067\u3057\u3087\u3046\uff0e
\nBalls.png\u3084Obama.jpg\u306f\u3046\u307e\u304f\u884c\u304d\uff0c\u3055\u3063\u304d\u3046\u307e\u304f\u884c\u304b\u306a\u304b\u3063\u305fTux.png\u306f\u540c\u3058\u3088\u3046\u306b\u30b3\u30b1\u305f\u306e\u3067\u540c\u3058\u52d5\u304d\u306e\u3088\u3046\u3067\u3059\uff0e
\u6050\u3089\u304f Debian jessie \u3067\u3082\u540c\u69d8\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u985e\u4f3c\u306e\u3082\u306e\u3067libcaca\u3068\u304b\u304c\u3042\u308a\u307e\u3059\u304c\uff0c
\n\n\n\n\nTurn images into text better than caca/aalib
\n
\u3068\u306e\u3053\u3068\u3067\u3082\u3063\u3068\u3044\u3044\u3082\u306e\u3089\u3057\u3044\u3067\u3059\uff0e
\nTexttop[1]\u3067\u4f7f\u308f\u308c\u3066\u3044\u308b\u306e\u3067\u8208\u5473\u3092\u6301\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u305d\u306e\u307e\u307e\u3067\u306fBuild\u51fa\u6765\u306a\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2\u3067\u3059\uff0e
README\u3067\u306f\u3053\u306e\u8fba\u304c\u5fc5\u8981\u3068\u306e\u3053\u3068\u3067\u3059\uff0e
\nsudo apt-get install build-essential libpng12-dev libjpeg-dev \\\r\n libfreetype6-dev libgif-dev ragel libavformat-dev libavcodec-dev \\\r\n libswscale-dev libgflags-dev libgoogle-glog-dev\n
Debian stretch testing\u3067\u306f\u3053\u3093\u306a\u611f\u3058?
\n$ sudo apt-get install build-essential libpng-dev libjpeg-dev \\\r\n libfreetype6-dev libgif-dev ragel libavformat-dev libavcodec-dev \\\r\n libswscale-dev libgflags-dev libgoogle-glog-dev\n
\u5f8c\u306fmake\u3059\u308b\u3060\u3051\u306a\u3093\u3067\u3059\u304c\uff0c\u3053\u3093\u306a\u30a8\u30e9\u30fc\u304c\uff0e\u65b0\u3057\u3044libav\u306b\u8ffd\u5f93\u3067\u304d\u3066\u306a\u3044\u611f\u3058?
\ng++ -g -O3 -std=c++11 -Wall -Wextra -fno-exceptions -fno-rtti -MD -march=native -c -o movie.o movie.cc\r\nmovie.cc: In member function \u2018void Movie::PrepareRGB(int, int)\u2019:\r\nmovie.cc:56:42: error: \u2018PIX_FMT_RGB24\u2019 was not declared in this scope\r\n width_, height_, PIX_FMT_RGB24, SWS_FAST_BILINEAR,\r\n ^\r\nIn file included from graphic.h:10:0,\r\n from movie.h:9,\r\n from movie.cc:4:\r\nmovie.cc:64:38: error: \u2018avcodec_alloc_frame\u2019 was not declared in this scope\r\n CHECK(frame_ = avcodec_alloc_frame());\r\n ^\r\nmovie.cc:66:19: warning: \u2018int avpicture_get_size(AVPixelFormat, int, int)\u2019 is deprecated [-Wdeprecated-declarations]\r\n int rgb_bytes = avpicture_get_size(PIX_FMT_RGB24, width_, height_);\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4898:5: note: declared here\r\n int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);\r\n ^\r\nmovie.cc:66:19: warning: \u2018int avpicture_get_size(AVPixelFormat, int, int)\u2019 is deprecated [-Wdeprecated-declarations]\r\n int rgb_bytes = avpicture_get_size(PIX_FMT_RGB24, width_, height_);\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4898:5: note: declared here\r\n int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);\r\n ^\r\nmovie.cc:69:14: warning: \u2018int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)\u2019 is deprecated [-Wdeprecated-declarations]\r\n int prep = avpicture_fill(reinterpret_cast<AVPicture*>(frame_rgb_),\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4883:5: note: declared here\r\n int avpicture_fill(AVPicture *picture, const uint8_t *ptr,\r\n ^\r\nmovie.cc:69:14: warning: \u2018int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)\u2019 is deprecated [-Wdeprecated-declarations]\r\n int prep = avpicture_fill(reinterpret_cast<AVPicture*>(frame_rgb_),\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4883:5: note: declared here\r\n int avpicture_fill(AVPicture *picture, const uint8_t *ptr,\r\n ^\r\nmovie.cc: In member function \u2018Graphic Movie::Next()\u2019:\r\nmovie.cc:94:5: warning: \u2018void av_free_packet(AVPacket*)\u2019 is deprecated [-Wdeprecated-declarations]\r\n av_free_packet(&packet);\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4040:6: note: declared here\r\n void av_free_packet(AVPacket *pkt);\r\n ^\r\nmovie.cc:94:5: warning: \u2018void av_free_packet(AVPacket*)\u2019 is deprecated [-Wdeprecated-declarations]\r\n av_free_packet(&packet);\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4040:6: note: declared here\r\n void av_free_packet(AVPacket *pkt);\r\n ^\r\nmovie.cc:94:27: warning: \u2018void av_free_packet(AVPacket*)\u2019 is deprecated [-Wdeprecated-declarations]\r\n av_free_packet(&packet);\r\n ^\r\nIn file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:318:0,\r\n from movie.cc:10:\r\n/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4040:6: note: declared here\r\n void av_free_packet(AVPacket *pkt);\r\n ^\r\n<\u30d3\u30eb\u30c8\u30a4\u30f3>: \u30bf\u30fc\u30b2\u30c3\u30c8 'movie.o' \u306e\u30ec\u30b7\u30d4\u3067\u5931\u6557\u3057\u307e\u3057\u305f\r\nmake: *** [movie.o] \u30a8\u30e9\u30fc 1\n
\u3067\u3082\u4ee5\u4e0b\u306ePR\u3092\u53cd\u6620\u3057\u305f\u3089\u901a\u308a\u307e\u3057\u305f :)
\n\u30b5\u30f3\u30d7\u30eb\u3068\u3057\u3066\uff0cballs.jpg, obama.jpg \u304c\u3042\u308b\u306e\u3067\u3053\u308c\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e
\n\u3046\u307e\u304f\u52d5\u3044\u3066\u3044\u305d\u3046\u3067\u3059\uff0e
\u3067\u3082.png\u306f\u3046\u307e\u304f\u52d5\u304b\u306a\u3044?
\n$ ./hiptext ~/Downloads/Tux.png\r\nF0601 11:01:16.713266 30721 png.cc:35] Check failed: type == PNG_COLOR_TYPE_RGB || type == PNG_COLOR_TYPE_RGBA png bad type: /home/mk/Downloads/Tux.png\r\n*** Check failure stack trace: ***\r\n @ 0x7fa48d3c013d google::LogMessage::Fail()\r\n @ 0x7fa48d3c1fa3 google::LogMessage::SendToLog()\r\n @ 0x7fa48d3bfccb google::LogMessage::Flush()\r\n @ 0x7fa48d3c298e google::LogMessageFatal::~LogMessageFatal()\r\n @ 0x41859f LoadPNG()\r\n @ 0x403fa8 main\r\n @ 0x7fa489e59610 __libc_start_main\r\n @ 0x40a229 _start\r\n @ (nil) (unknown)\r\n\u4e2d\u6b62\r\n$ convert ~/Downloads/Tux.png ./Tux.jpg\r\n$ ./hiptext Tux.jpg\n
`.jpg`\u306b\u5909\u63db\u3057\u305f\u3089\u3044\u3051\u3066\u308b\u611f\u3058\u3067\u3059\u304c\u306a\u3093\u304b\u6b20\u3051\u3066\u307e\u3059\uff0e
\n\u52d5\u753b\u518d\u751f\u3082\u3044\u3051\u307e\u3059\uff0e\u518d\u751f\u306e\u307f\u3067\u4e00\u6642\u5b9a\u4f4d\u306a\u3069\u306e\u64cd\u4f5c\u306f\u51fa\u6765\u306a\u3044\u611f\u3058?
\n
\n\u300c\u3075\u3089\u3044\u3093\u3050\u3046\u3043\u3063\u3061 \u3077\u3061\u300d\u3000\uff03\uff11 – YouTube\u3088\u308a
\u4eca\u306e\u3068\u3053\u308dlibcaca\u3084\u52d5\u753b\u3067\u306fvlc\u3084mplayer\u306a\u3093\u304b\u306e\u307b\u3046\u304c\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u5c0e\u5165\u3067\u304d\u308b\u306e\u3067\u304a\u624b\u8efd\u305d\u3046\uff0e
\n\u3068\u308a\u3042\u3048\u305a\u52d5\u304f\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3067\u6b21\u306fTexttop\u3092\u8a66\u3057\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e
\n