I would like to write a bash script to decode a base64 string. For example I type decode QWxhZGRpbjpvcGVuIHNlc2FtZQ== and it prints Aladdin:open sesame and returns to the prompt. So far I have tried a simple bash file containing python -m base64 -d $1 but this command expects a filename not a string. Is there another non-interactive command (not necessarily in a Python module) that I can run from
ごく稀にbashなどのシェルや、CLIプログラムで使用するプログラムから日本語などをURIエンコードしたいことがあると思います。 そのためにrubyやnode.jsを動かすのも面倒だなぁ、と思っていたのですがjqでもできることがわかったのでメモしておきます。 やり方$ echo "日本語" | jq -Rr @uri %E6%97%A5%E6%9C%AC%E8%AA%9E # echoには改行(\n)が含まれるがそれも含める場合 $ echo "日本語" | jq -sRr @uri %E6%97%A5%E6%9C%AC%E8%AA%9E%0Aオプションの説明-R, --raw-input: JSONとしてパースせず、行ごとに文字列として処理を行う-r, --raw-output: 文字列として出力を行う@uri: percent-encoding を行うほかにもこんなのがありました。(j
Webサーバーログ解析で使いたかった Webサーバーのログを見ていると、検索ページからジャンプしてきている形跡があった。しかし、検索キーワードはURLエンコードされた状態であり、デコードしないとわからない。果たしてどんなキーワードなのか興味があった。 そこで、FreeBSDのportsに収録されているurlendecというプログラムをサクっとインストールしようとしたら…… # cd /usr/ports/net/urlendec # make install ===> urlendec-1.0 is only for i386, while you are running amd64. *** [install] Error code 1 Stop in /usr/ports/net/urlendec. # これだから、POSIX準拠でないコマンドは信用ならんのじゃ!!! しょーがないので
JWTを調べたついでにエンコードしてトークンを作成する実装をしてみようと思い、rubyで実装したみた。 素直にgemを使えよ、という話ですが...😅 JWTについて調べたメモは以下の記事をご参考に。 spangled-shalalala.hatenablog.com JWTのサンプルコード require 'json' require 'base64' require 'openssl' SECRET_KEY = "secretkey".freeze def urlsafe_encode64(string) Base64.urlsafe_encode64(string).tr('+/', '-_').gsub(/[\n=]/, '') end header = { alg: "HS256", typ: "JWT" }.to_json header_enc = urlsafe_encode
日本語を扱うPythonプログラマ(with Python2)にとっての最大の天敵(過言)、UnicodeEncodeError。 昨日横の人がその餌食となり、その解決の手助けをしているうちに自分の中でPython2での文字列処理の方向が少し整理できた。(近いうちにPython3バージョンもまとめたい) 個人的結論 バイト文字列/ユニコード文字列のどちらを扱っているかを常に意識しておく。 (基本的に)プログラム内ではユニコード文字列を扱い、標準入出力とやり取りする際(ex. print)にはバイト文字列に変換する。 バイト文字列とユニコード文字列 バイト文字列は特定のエンコード方式(ex. utf-8)でエンコードされており、リテラルでは'あいう'のように表現する。一方、ユニコード文字列はUnicodeのコードポイントを並べたものであり、リテラルではu'あいう'のようにuをつける。 (py
Shift_JISで書かれたHTML、例えば下記のような文書をスクレイピングする場合。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>title</title> </head> <body> <div id="contents"> <div>1.ほげ</div> <div>2.ふが</div> <div>3.ぴよ</div> </div> </body> </html> Content-Typeは下記のように返されるとする。 Content-Type: text/html; charset=Shift_JIS スクレイピング用のライブラリたちは優れているのでUTF-8じゃなくても内部でうまいこと変換してくれたりするのであ
はじめに あけましておめでとうございます。今年もPython界の江古田ちゃんとして頑張っていく所存です。さて id:nishiohirokazu が5分でPythonは便利だと思える記事を元旦から書いていました。 「ほえー、さすが西尾さんや」って思ってたら、西尾さんが「おい山口、5分でPython便利だなーって思える記事書けや」っていう無言の圧力をかけてきたので*1 *2なんとなく書きました。 「5分で」っていうのが読者が読む時間なのか、筆者が書く時間なのかがわからなかったので前者ということにしました。5分で記事とコード両方書くとか無理や。 こんなことないですか 「Webでスクレイピングしたいよー、てへへ。だけど文字コードとかがページごとにバラバラでマジしんどいっす。しかもタグ抜き出すのとかめちゃめんどいっす><」ってことはあったりしませんか? リンクのタイトルとかも綺麗に抜き出したいなー
Pythonでコード書いてると、1回は残念だなぁと思うポイントとして表題の件があると思います。具体的には以下です。 # リストも辞書も出力がお世辞にも良いとは言えない。。 >>> print ['あ', 'い', 'う'] ['\xe3\x81\x82', '\xe3\x81\x84', '\xe3\x81\x86'] >>> print {'title':'ねじまき鳥', 'author':'村上春樹'} {'author': '\xe6\x9d\x91\xe4\xb8\x8a\xe6\x98\xa5\xe6\xa8\xb9', 'title': '\xe3\x81\xad\xe3\x81\x98\xe3\x81\xbe\xe3\x81\x8d\xe9\xb3\xa5'} 日本語がバイト表現な上、全要素が1行で表示されています。これではちょっとprintデバッグするにも萎えますよね。複雑
「(ruby|javascript)でstr.join(array)、pythonでlist.join(str)」http://blog.livedoor.jp/dankogai/archives/51226075.html ここではlistを継承したListクラスをこさえて、そこにjoinメソッドを追加しているが、listに直にメソッド追加する方法はないのだろうか.... 多分できない。 PythonはPerl,Rubyに比べて、上の方は同じくらい柔らかいんだけど、下の方は堅い。 Unicodeのことまで考慮に入れて実装したために、実装がずいぶんと泥臭いものになっている。 join したいものが一種類ではないというのが、 join が list のメソッドでない理由の一つだからね。 str()はUnicodeを食うと例外をお吐きになる。それでいて"dankogai" + u"小飼弾"はu
NSStringを指定した文字コードでURLエンコードします。 一瞬 stringByAddingPercentEscapesUsingEncoding: のみで事足りそうに思うのですが、それだけだと下記コード中の escapeChars にある文字達が残ってしまいます。 @implementation NSString (URLEncoding) -(NSString *)stringByURLEncoding:(NSStringEncoding)encoding { NSArray *escapeChars = [NSArray arrayWithObjects: @";" ,@"/" ,@"?" ,@":" ,@"@" ,@"&" ,@"=" ,@"+" ,@"$" ,@"," ,@"[" ,@"]" ,@"#" ,@"!" ,@"'" ,@"(" ,@")" ,@"*" ,nil]
自己紹介 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for Development Platforms - VSTO (Jul 2008 - Jun 2009) Xbox Live Xbox 360 で遊んでいます。 あわせて読みたい この記事は Excel 2003 の CSV と 文字エンコーディング の関係 の改訂版です。 改訂前の記事は Excel 2003 ベースですが、YamaKenさんから Excel 2007 だとどうなるのかとの旨コメントを頂きました。 Yamakenさん、ありがとうございます。 カンマ区切り、タブ区切りそれぞれのテキストファイルを Excel 2007 で開いたときの挙動をまとめました。 先に結果を言うと、ほとんどの場合 Excel 2007 は Excel 2003 と同じ挙動を示します。 違う挙動を示すのは
perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く