nDiki : シフト JIS

シフト JIS

文字符号化方式の1つ。

1バイト目2バイト目
ASCII / JIS ローマ字0x21 - 0x7E
半角カタカナ0xA1 - 0xDF
2バイト文字0x81 - 0x9F、0xE0 - 0xEF0x40 - 0x7E、0x80 - 0xFC

2バイト目は 0x40 から 0xFC のうち 0x7E を除いた範囲。 0x40 - 0x7E (@,A-Z,[,\,],^,_,`,a-z,{,|,},~) はそのバイトを見ただけでは、1バイト目か2バイト目か区別できない。

2004年7月28日 (水)

xyzzyを読み取り専用メディアから起動する

新人プログラマには「プログラムを組むんだから、とりあえずテキストエディタを何か入れておけ」と言うのだが、実際のところ自分が今仕事で使っている Windows BOX にはテキストエディタインストールされていない。

メモ帳」ですよ。

ちゃんと編集する時は Linux BOX 上の Emacs を使ってしまうので、Windows BOX では力を入れて環境構築していなかったり。 しかし、やっぱり何かテキストエディタがないと不便といえば不便。 ということで久しぶりに何か入れてみることにした。

最近は「インストール不要のソフトを USB メモリに入れて相手先で利用できるようにする」環境作りをぽちぽちしているので、エディタもそのようにできるのを選びたい。

というのが主な条件。

書き込み禁止にした USB メモリや、read only な Samba 公開ディレクトリ上(あるいは CD-R 上)から直接起動できるようにするのが目的。

xyzzy 0.2.2.233

以前にもちょっと使ったことがある。 Meadow はヘビーだし設定が面倒なので xyzzy が良い。

で実験。

アーカイブを展開してすぐ xyzzy.exe を実行できるのだが、

  1. ダンプイメージ
  2. etc/DOC (lisp/help.l より)
  3. $XYZZY/usr/usrname/os/xyzzy.ini
  4. $XYZZY/usr/usrname/os/.xyzzy.history

を書き出せる必要がある。etc/DOC 以外の位置はコマンドライン引数環境変数で指定できる。が etc/DOC だけ変更する方法がわからない。

保留。

サクラエディタ 1.4.8.0

同僚が使っているサクラエディタも試してみる。 インストーラを使用したくないので、実行可能ファイル・ヘルプファイルそれから必要な補助ファイルをそれぞれ取得して、同じディレクトリへ。

こちらは read only でも特に問題なく起動した。 ただし、

なので躊躇。

再び xyzzy

xyzzy の設定をいじってみる。

site-lisp/siteinit.l を

 (setq lisp::*documentation-path*
       (merge-pathnames "xyzzy-DOC"
                        (directory-namestring (si:dump-image-path))))

として etc/DOC をかわりにダンプイメージファイルと同じディレクトリに xyzzy-DOC として生成するように変更。

それから起動用に

 mkdir %TMP%\xyzzy
 xyzzy -image %TMP%\xyzzy\xyzzy.dump -config %TMP%\xyzzy

というバッチファイルを作成。ダンプイメージファイル、設定ファイルを置くディレクトリを環境変数TMPの下の xyzzy サブディレクトリに出力するようにする。

これで書き込み禁止ディレクトリから起動できるようになった。

必要があれば書き込みディレクトリはアカウント毎に変えた方がいいかな。 Windows 98 SE だとユーザ名やホームディレクトリとして使える環境変数は標準状態では存在しないようなので一工夫が必要になるか。

スポンサード リンク
[ 7月28日全て ]

2005年4月10日 (日)

Windows 上での Apache 2.0.53 では PATH_INFOシフト JIS

WiKickerWindows 上での動作確認の続き。 WiKickerPPM パッケージを作成して ActivePerl 5.8.6.811 上にインストール。 依存するモジュールで、ActivePerl に入っていないものは以下の通り。

既に手元で PPM パッケージ化済みなので、これもインストールしておく。

後は RCS をパスの通っているディレクトリに入れてタイムゾーンを設定。

 TZ=JST-9

CGI プログラムとして実行。 お、表示できた。 書き込みはと。

エラー

予想していたけれど、sendmail に依存していたところ。 sendmail が見つからない場合はメールの送信をスキップするように修正。

これでうまく動くかなと思ったら、日本語名のページを作るとうまく表示できない問題を発見。

PATH_INFOシフト JIS で渡される

WiKicker では UTF-8 文字列をURIエスケープして WikiPageURLを生成している。 このURIにアクセスされると WiKicker は、PATH_INFO から WikiName を取り出す。 この文字列がシフト JIS になってしまっている。

Windowsファイル名に使用する charset にあわせて、Apache が変換してしまっているようだ。 調べてみると他の WikiEngine でも同様の問題にあっているという記事が見つかった。

将来の 2.0 系でパッチが取り込まれて修正されるとか、そうでないとか。

現状どうするかなぁ。 WiKicker 側でシフト JIS から UTF-8 に戻すというのもできない事はないけれど、あまりやりたくはないな。 いったんシフト JIS を介しているという時点で、シフト JIS に無い文字の扱いに関する問題をかかえてしまっているし(Apache が)。

対策案:

  • Apache 1.x 系を使う (まだ未確認だが、こちらだと勝手に変換されないらしい)
  • WiKickerPATH_INFO を使わないオプションをつける(URI Query Component は勝手に変換されない)
  • WiKicker 側でシフト JIS から UTF-8 に変換する
[ 4月10日全て ]

2005年4月13日 (水)

AN HTTPD 1.42n も PATH_INFOシフト JIS

Windows 用 Apache 2.0 では PATH_INFO がシフト JIS になるという仕様により WiKicker がうまく動かないのだが、AN HTTPD どうかと思い確認してみた。

結果は×。

AN HTTPDPATH_INFOシフト JIS になってしまう。

[ 4月13日全て ]

2006年6月20日 (火)

WiKicker 0.35 リリース - 添付機能の修正など

添付機能を有効にすると、添付ファイルが無いページに対応するディレクトリが無条件に作られてしまう問題を修正。

それから日本語ファイル名のファイルを WikiPage に添付した際、Internet Explorer でそのファイルをダウンロードして保存しようとすると URI エスケープされた文字列がデフォルトの保存ファイル名になってしまいよろしくない。 このため、Content-Disposition ヘッダをつけてレスポンスを返すためのダウンロード用のリンクも追加。

Cotent-Disposition ヘッダでファイル名を指定する際、

ファイル名シフト JIS でエンコードしてしまうようにした。

ファイル名シフト JIS で表現できない文字があるかもしれないし、Accept-Language に ja があったからといって Windowsロケール日本語になっているという保証もないので、かなりいい加減なコードである。

なにか良い方法があったら修正したい。

[ 6月20日全て ]

2008年8月5日 (火)

Twitter への書き込みを自動的に Skype ムードメッセージに設定する for Windows

半年ぐらい前に Skype for LinuxTwitter への書き込みを自動的に Skype ムードメッセージに設定するスクリプト(記事)を作って cron で 10分毎に更新するようにした。

Windows BOX 上 Skype を使っている時も同様にできるように、Skype4COM を使うバージョンも書いてみた。 D-Bus ではなく Skype4COM を使うようにすることと、Skype4COM にはシフト JIS の文字列を渡すようにすること以外はほとんど同じ。

Skype4COM の DLL を登録し、Skype が起動している状態で以下の Perl スクリプトを実行。

 #!/usr/bin/perl

 use strict;
 use warnings;
 use Win32::OLE;
 use URI::Fetch;
 use XML::RSS;
 use Date::Parse;
 use Encode;

 my $id = '自分の Twitter ID';

 my $time = time;
 my $fetch_response
   = URI::Fetch->fetch(
               "http://twitter.com/statuses/user_timeline/$id.rss?dummy=$time")
   or die URI::Fetch->errstr;
 my $rss = XML::RSS->new;
 $rss->parse($fetch_response->content);
 die 'no items' if @{$rss->{items}} == 0;
 my $item = $rss->{items}->[0];
 my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
   = localtime(str2time($item->{pubDate}));
 my $title = $item->{title};

 my $mood
   = sprintf("$title [%02d/%02d %02d:%02d]", $mon + 1, $mday, $hour, $min);

 $mood = Encode::encode('shiftjis', $mood);

 my $skype = Win32::OLE->new('Skype4COM.Skype');
 $skype->Client->Start unless $skype->Client->IsRunning;
 my $profile = $skype->CurrentUserProfile;
 $profile->{MoodText} = $mood;

インストール済みだった ActivePerl 5.8.8.822 で動作を確認(ちなみに現時点での最新は ActivePerl 5.10.0.1003)。なお URI::FetchXML::RSS、Date::Parse(TimeDate) は標準では入っていないので PPM パッケージインストール

タスク スケジューラで10分毎に上記のスクリプトを wperl.exe で実行するように設定。 これで Windows 上でもさえずりをムードメッセージに設定できるようになった。

[ 8月5日全て ]

2010年3月19日 (金)

今日のさえずり - ここ最近裏紙が激しく不足している

2010年03月17日

2010年03月18日

2010年03月19日

  • 09:47 このシーズン初めて袴女子みかけた。 (@ 秋葉原駅 w/ 5 others) http://4sq.com/68fhHr
  • 10:13 Edyお得ナビの配信停止にアンケート回答必須って何様だ。
  • 12:23 プレーンとキャラメル ショコラ。 (@ マネケン JR秋葉原駅店) http://4sq.com/ddiNoY
  • 12:33 メンチカツ弁当(昼食) 398円。 (@ デイリーヤマザキ秋葉原駅前店) http://4sq.com/db4PTq
  • 16:58 ここ最近裏紙が激しく不足している。
  • 19:08 裏紙 GET。
  • 21:47 会社の掃除当番表に自分だけ名前の代わりに Naney って書いてあった。よくわかってらっしゃる子だれ?
  • 21:49 パセラ店頭のスーパーマリオで女が絶叫している。きぃーっ。
  • 21:53 この時間までアミノ酸飲料配布ってガンバルなあ。 (@ ヨドバシカメラマルチメディアAkiba w/ 3 others) http://4sq.com/77WGwe
[ 3月19日全て ]

2010年6月9日 (水)

今日のさえずり: iPad 触ってみた。重い。

2010年06月09日

[ 6月9日全て ]

2010年12月28日 (火)

今日のさえずり: Google で "ちだまちし" 21件

2010年12月28日

  • 10:10 ThinkPad X200 + Debian GNU/Linux sidサスペンドからの復帰で画面が戻るように再びなった。良かった良かった。
  • 12:05 やっぱり昨日の夜から腹が張りっぱなし。昼はみかん2個にしてみよう。
  • 12:07 Google で "ちだまちし" 21件。 RT @as_tone: 両国国技館に「ちだまちし」ってのぼりが沢山たってる。何かイベントでも…あっ!「ち」じゃなくて「さ」か!!
  • 12:21 ロケタッチの Android アプリケーション入れたけれど「『設定』の『位置情報とセキュリティ』で項目『ワイヤレスネットワーク』をチェックしてください。」って出る。なんで GPS じゃ駄目なの?
  • 12:26 チャリ文(自転車文化センター)って2002年赤坂から移転してたんだ……。思い出のあの場所が。
  • 12:56 今日のさえずり溜めすぎた。
  • 13:16 デスク下の片付けをしていたら堀内カラー レンズブラシが出てきた。ラッキー。
  • 15:00 Redmine のリポジトリ設定の中の[リポジトリのエンコーディング] で utf-8,shift_jis,euc-jp を指定。シフト JIS で書かれたソースファイルが文字化けしないで見られるようになった。いいね。
  • 19:00 このあいだ停電のために DNS サーバを止めた際、スレーブで名前を引けなくなっていたのわかった。SOA の expire が 86400秒(=24時間)に設定してあったからだ。
  • 19:06 259200 にしておいた。
  • 19:11 しかし、これマスター DNS サーバを落とした直後にテストとしてスレーブから名前を引いてみると引けちゃうから気がつきにくいよね(言い訳)。
  • 19:33 仕事納めった。
  • 19:49 昼食みかん2個だったんだけれど、ようやくぼちぼち空腹感がきた模様。
  • 19:50 お腹の調子が悪いと食費的に助かりますね(あとあとの医療費については不問)。
  • 21:03 このあいだ RTM にお炊き上げって入力したけど、新聞見たらお焚き上げって書かれていた。どうりで違和感があったわけだ。
  • 21:09 初詣広告12社中、URL が載っているのは4神社URL を掲載しているところはもれなく横書きデザイン。縦書きにしている神社URL 載せるようになったら横書きデザインにするのだろうか。
  • 21:36 冷気ストップパネルM http://amzn.to/dQip3K を注文した。少しは夜の寒さを軽減できるかな?
  • 21:48 Amazon.co.jp は明日の 7:00 までの注文確定だと通常配送でも元日までに届くらしい。 http://amzn.to/hzBviR
  • 22:48 BettrFlickr 買った。後からタグ付けする時とかに使うつもり。 #Android #Flickr
  • 22:54 ゲゲゲの女房 総集編 第1回 明日の 7:20 から。
[ 12月28日全て ]

2012年4月14日 (土)

今日のさえずり: 「カミニートって何?」って質問されたので、どなたか模範回答をください

2012年04月14日

  • 09:01 お、Google ロゴ、ロベール・ドアノーやん!
  • 10:16 PostEver が評判良さそうなので使ってみようかな。
  • 11:14 PostEver インストールした。ライフログ用に Twitter 的に投稿しておけるプライベートマイクロブログが欲しいと思ってたので、その用途で使うことにしよう。
  • 11:39 PostEver 用 inbox ノートブックは端末でオフラインノートブック指定しておこう。
  • 12:20 天袋整理して不要なものを処分。
  • 12:24 ドンケ F-2、しまっておく時にかさばるんだよねぇ。フィルム一眼レフから NEX-5N にしたので今後も出番あまりなさそう。悩ましい。
  • 12:26 小遣い帳テロリスト @NetPenguin
  • 13:51 ThinkPad X31 から dynabook T451/58ER へデータ移行作業する。これを機に Becky! から Thunderbird へ乗り換え。
  • 13:54 さて Becky! から Thunderbird へのデータ移行方法を調べよう。
  • 14:28 CircleBecky 試してみる。
  • 14:43 @netpenguin 全然アリです! 自分も少し前まで支出を Tweet して Cashbook小遣い帳つけてました。
  • 17:14 CircleBecky で Becky! からメールをエクスポートして Thunderbird でフォルダ階層を維持したまま無事インポート完了。
  • 17:17 一部 Subject: と From: が化けたのだが、ソース見たらもともとエンコーディングがそこだけシフト JIS 系になっていた。Becky! が良きにはからってただけか。
  • 17:30 しばらく前から HootSuite から Facebook に投稿できなくなってて困る。
  • 18:06 Google Chromeキャッシュをクリアしたら、HootSuite から Facebook への投稿復活。
  • 18:07 と思ったら2発目は NG。
  • 20:56 グーテ・デ・ロワ プレミアム(つまりチョコラスク)食べる。
  • 20:58 今日、に「カミニートって何?」って質問されたので、どなたか模範回答をください。
  • 21:27 いーてふ観たい。
  • 22:09 Wikipedia に「カミニートビルの正式名称は“ショッピングプラザ カミニート”。」って書いてある。
  • 24:33 「おくりびと」観た。広末涼子がエロかった。山崎努のボス像がイケてた。本木雅弘の動きがセクシーだった。
  • 24:50 @_basi 謎 Tweet スギ?
  • 25:15 @_basi いいんですいいんです。Naney の由来は「なにい!」なので遠からずです。
  • 25:23 @_basi 初代ドラクエで「なにい」と入れて以来です。
[ 4月14日全て ]

2014年7月11日 (金)

異なる文字エンコーディングのファイルをまとめて検索できる pt に乗り換え

昨年話題になった ag (The Silver Searcher) は、UTF-8 以外の日本語テキストファイルの扱いに難があったので ack に戻していたのだけれど、 pt (The Platinum Searcher) が良いというので ack から乗り換えてみた。

UTF-8 やら 日本語 EUC (EUC-JP)やらシフト JIS(Shift_JIS)やら、様々な文字エンコーディングのファイルのあるディレクトリ以下をまとめて検索できるのいいね。

Emacs の設定に以下を追加しておいた。

 (let ((pt (executable-find "pt")))
   (if pt (setq grep-find-command (concat pt " --nocolor --nogroup "))))
[ 7月11日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.134547s / load averages: 0.27, 0.50, 0.87
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker