東京Ruby会議10 で発表したスライド
長らく更新の止まっている「いいから俺文字コード」シリーズですが、 このたび、Java Advent Calendarの一環として復活させました! Java Advent Calendarって? 本エントリーはJava Advent Calendarの5日目です。 Java Advent Calendarについては、以下のサイトをご覧ください。 http://atnd.org/events/22434 前の4日目は @akirakoyasu さんの「SDKで身近になるAmazon Web Service」 http://www.akirakoyasu.net/2011/12/04/easily-use-aws-through-sdk/ S3、SimpleDB、SESの使い方をサンプルコードつきで紹介しています。 次の6日目は @shuji_w6e さんの「JUnit のセカイ」 http:/
すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W
この項10月5日追記。OS X v10.8.2追加アップデート1.0により、次項以下で言及している本文の文字化けは解消された(ローマ数字の「Ⅴ」が「㈸」に化けるのは仕様なので従来どおり)。アップデート後に受信したメッセージについては、本文・件名ともに化けない。ただし、受信済みのメッセージについては、アップデート後に本文の文字化けは直ったが、件名の文字化けは直らなかった(下図)*1。 OS X 10.8.2のMail.appでは、Windows外字入りのISO-2022-JPを受信すると、メッセージ全体が化けることがある*2。たぶん、下図ピンク地の文字が1つでも含まれていると、メッセージ全体が(まるでソースを表示しているように)化ける。 下図は、Thunderbirdから本文に「ローマ数字のⅤ」「ローマ数字のⅥ」と書いたメールを送信し、OS X 10.8.2のMail.appで受信・表示した
1年前にvim-refの導入記事を書きましたが、情報が古くなってきたので、最新のvim-ref環境について整理します。 vim-refは、各種言語のリファレンスを参照するためのVimプラグインです。sourceを作成することにより様々な言語のリファレンスを参照できます。標準で用意されているsourceは Perl, PHP, Python, Ruby などがあります。詳しくは :help ref をご確認ください。 動作確認環境 Vim 7.3vim-ref 0.4.3 目次 vim-refをインストール テキストブラウザ(Lynx)をインストール Lynxの設定 .vimrc 動作確認 うまくいかない場合 vim-refをインストール vim-refはgithubからダウンロードします。pathogen,Vundle系プラグインを使用されている方は、~/.vim/bundle 以下に配置
Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ
NSURLConnectionでHTTPリクエストを同期通信・非同期通信してソースを取得。 取得したソースをTextViewに表示。 文字コードは自動判定してくれないらしい。 間違った文字コードを指定するとnilが返ってくるので、日本でよく使われる文字コードを配列にして、それを総当たりでチェック。 もしどれも違ったらASCIIとする。 非同期通信+プログレスバーはFlashでやるのと大体同じだった。 アラートにはデリゲートをつけて、何が押されたかを表示させてみた。 Interface Builder側は割愛。 ソース test1ViewController.h #import <UIKit/UIKit.h> @interface test1ViewController : UIViewController { IBOutlet UIButton *btn1; IBOutlet UIText
初めまして。7 月にエンジニアとして入社した花島と申します。 早速ですが、Mac の zsh で日本語の濁点・半濁点付き仮名を正常に補完できる様にする拙作のパッチをご紹介させて頂きたいと思います。 Mac におけるファイル名の取り扱い まず始めに、濁点・半濁点付き仮名が補完できないという事について少し触れたいと思います。 Mac を日常的に、また仕事で利用しているという方の中には、濁点・半濁点付き仮名を入力して補完しようとして補完できなかったという経験をお持ちの方が少なからずいらっしゃるのではないでしょうか。 これは Mac のファイルシステムである HFS+ におけるファイル名の扱い方に原因があります。 HFS+ ではファイル名を Unicode (UTF-8) で格納するのですが、その際、NFD という正規化を施して格納します。 (一般的な UTF-8 では NFC という正規化がされ
そこまでおっしゃるなら、というわけで書いたのが以下。 #!/usr/bin/env python3.2 # -*- coding: utf-8 -*- import sys, os if 'PYTHONIOENCODING' in os.environ: for line in sys.stdin: chars = list(line.rstrip()) print('☆'.join(chars)) else: os.environ['PYTHONIOENCODING'] = 'UTF-8' sys.argv.insert(0, sys.executable) os.execvp(sys.argv[0], sys.argv) …強引さが増してるぞおいwllevalのようなsandbox環境では余計動かないしww http://blog.livedoor.jp/dankogai/archiv
備忘録 - #python3 で sys.std(in|out|err) の encoding を強制するについて C言語の教科書にでも出てきそうなこんな基礎的なスクリプト import sys for l in sys.stdin: print l が動かない!って文句を言いたくなる気持ちは、非常によく理解できる。Unix的なというかC言語的には伝統的かつ完璧なイディオムで、これが正常に動作しないなんてどうかしてる。どんなプログラミング言語でも、Hello Worldの次ぐらいにはこんなプログラムを書いて、IOの使い方を試してみるものだ。 しかしながら、現代はもうUnicode時代なわけで、いや、少なくともPython3はUnicode時代であると定めてしまったわけで、K&R時代ならなんの問題もなかったこんな処理でもエラーになってしまう、そんな時代に我々は生きているのである。 何が問題か
Study Mailの開発で日本語メールの問題にぶつかりましたので、その解決方法を公開します。結論としては、Pythonの場合はUTF-8でエンコードしてしまうのがベストのようです。 Dajngo EmailMessageで文字コードを指定する よく知られているように、日本語で書かれたメールを送信する場合はiso2022でエンコードするのが一般的です。二バイト文字のエンコードに問題の多いことで知られるPythonですが、幸いエンコードそのものについては部品として切り出して使えるwebアプリケーションフレームワークDjangoを利用することで問題なく行うことができます。 Djangoには電子メールのメッセージを表現するEmailMessageクラスがあり、メールとしてのメッセージの組み立てを簡易化してくれます。文字コードについてもドキュメント化こそされていませんがソースを読むとencodin
公開: 2012年6月24日23時50分頃 武雄市の図書館が話題になったりしていて、ハッシュタグ #takeolibrary をたまに見たりしているのですが、keikumaさんがこんなツイートをされていました。 市長「今の検索システムは江戸時代末期のシステムです」 00:33:40 へぇ、と思って実際にサイトを見てみると……。 武雄市図書館・歴史資料館 (www.epochal.city.takeo.lg.jp)見た瞬間に呼吸が止まるほどの衝撃を受けました。 いきなりframeで、noframes要素の中身は「このページを表示するには、フレームをサポートしているブラウザが必要です」。 ないわー、江戸時代でもこれはないわー、などと思いつつ「本をさがす」のページを見てみるわけです。リンク先のURLはHTTPSなのに、HTTPSでないフレームの中に展開されて軽く驚きますが、ともあれ、実体は以下に
クラウドネイティブの実現 モダンインフラの構築・運用の課題解決へ コンテナの可能性を広げるVMware Tanzu DX時代のアプリケーションセキュリティ 未来革新プロジェクトに邁進するSOMPO 基幹システムのモダナイゼーションに迫る VMware 渡辺氏に聞く 顧客のデジタル変革のために 自らも改革を続けるヴイエムウェアの戦略 日清食品グループのDX(前編) 現場が主役のDXのススメ トップの強い意思で変革に弾み Microsoft 365のデータは安全か? クラウド型アプリを採用する企業のための 包括的なデータ保護のありかたを解説 ともにDXを推進する コンテナ化されたワークロードを管理 継続的な価値を生みだす「協創」への挑戦 ITインフラ運用からの解放 HCI+JP1による統合運用による負荷激減で 次世代IT部門への役割変革へ一歩前進 エンドポイントセキュリティの転機 情報セキュリ
前から言われてる、これ。 (id:hnw さんも、もしかしたらこれは私が実装したということを知っていて自粛してるのかもしれないけど、そういう気遣いは不要です!) まあつまりですね、もともとfgetcsv()は「\」(0x5c) で次の文字をエスケープできるという割と不便な仕様になっていて、Shift_JISのようなエンコーディングは利用に難ありだったわけで。 で、一応 Shift_JIS が通らないという苦情は来ていて (特に Windows 版で) 、でも標準関数だから mbstring への依存を作るわけにいかない。というわけで C99 になっちゃうんだけど mbrlen(3) (か mblen(3)) を使うということにしたので、結果的にロカールに依存するということになったというわけですよ。 なので、Shift_JIS 使いたければ、libc の設定で利用可能ロカールの一覧に Shi
5/3 17:45追記:t_komuraさんに指摘いただいた関数と、さらに僕が調べ直したものを含め、「ロケール設定に従う関数一覧」に25個ほど追加しました。かなり見落としがありましたね…。 PHPのロケール*1まわりについて調査したので、これをまとめてみます。 この記事は「ロケールの影響を受ける関数 - Sarabande.jp」を掘り下げたものです。masakielasticさん、ナイスな記事をありがとうございます。 PHPの文字列型と文字エンコーディング 他のモダンなLL言語と異なり、PHPは文字列の文字エンコーディングに関して何も仮定せず、単なるバイト列として管理しています。つまり、文字エンコーディングの取り扱いは各関数の実装に委ねられています。 下記の通り、これはマニュアルにも記述があるのですが、実に残念なことです。 残念ながら、PHP の各関数が文字列のエンコーディングを判断する
_ ユーザ入力の住所は怖い データベースには、ADDRESSみたいなカラムがあり、そこはvarchar(64)みたいになっているとしよう。 で、これまでは従業員が入力していた(たとえば、客が書いた配送先住所を手打ちで入れていたりとか)とする。 「これまで」というくらいだから、何も考えずにシフトJIS(でもその実体はWindows-31J)にしていたことだろう。 で、なぜかそれをユーザーがWebから直入力できるようにしてしまったとする。 これは、つくづくと相当な死亡フラグなのだが、問題となったという事例を見ない。 不思議だ。他の人たちはどうやっているのだろうか? ユーザーは、こちらが驚くほど多様だ。 たとえば、「ザ・グレート歌舞伎町」というマンション名があるとする。 「・」を知っている人は「/」を変換するだろう。知らなくても普通はそう入力するような気がする。全然知らなくても「中黒」という用語
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く