このBlogに価値ありとお思いの読者の方は、Amazonでお買い物の際に左のバナーから商品検索してからご購入いただければ幸いです。

2017年01月13日

【近況】プティ・モンターニュの

DSC_0365.JPGガトーショコラ。おいしい!比べちゃいけないがセブンとは雲泥の差かあるな。240円だったかな。

おわり
posted by pon at 20:19| Comment(0) | TrackBack(0) | 身近なこと | このブログの読者になる | 更新情報をチェックする

【近況】図書館?

DSC_0362.JPG貸してくれるらしい。

おわり
posted by pon at 12:35| Comment(0) | TrackBack(0) | 身近なこと | このブログの読者になる | 更新情報をチェックする

【近況】雪だよ

DSC_0367.JPG窓がダラダラだった。

おわり
posted by pon at 07:51| Comment(0) | TrackBack(0) | 身近なこと | このブログの読者になる | 更新情報をチェックする

2017年01月08日

【社会】肉は食いたいけど環境が持たないから別のもので肉を作るんだって

http://wired.jp/2017/01/08/sustainable-meat/

環境が悪化するからっていうなら、肉喰うのやめたら?っていうか、食べてもいいけど減らせばいいんじゃん。そういえば、そろそろ牛肉が上がるぞっていう話もあるね。

新鮮な朝取りの野菜を地方から都会に運ぶとか、もってのほかでしょ。特別な機会以外はレトルト食えばいいんだよ。それなら、急いで運ぶ必要もないし。

それじゃ体に悪いっていうなら自分で野菜を作るとかしないと。

でも経済論理からすると地産地消って儲からないからね。人気の出るものを作って都会に出せば儲かるし、みんなそれを、目指してるんでしょ?

出さないで人を呼ぶのも結果的に同じで、車や新幹線を飛ばしてくるわけじゃん。もうこじんまりと適度にまとまって生活しとけば地球も長持ちするでしょ?

おわり。
posted by pon at 22:00| Comment(0) | TrackBack(0) | 社会のこと | このブログの読者になる | 更新情報をチェックする

文字コード

あんまり仕事の内容を詳しく書くことはできないのですけど、なんだかおもしろいなーって思ってるのがJavaの日本語メールでの文字コードです。

その前に、簡単に僕がどう理解しているかを書きます。

Javaでは、UTF-16で値を持ってます。でも、ファイルを読んだり、情報を送信するときに別の文字コードが使われてることが多いわけです。

そうすると、読むファイルがEUC-JPで書かれてるよーとか、送信するときにJISで送ってねーとか、そういう場合に、文字コードを指定してあげます。

読むファイルがEUC-JPだよと指定した場合、データーを読んだらJavaはEUC-JPからUTF-16に変換して保持するわけです。

逆に送信する際にJISだよと指定していれば、UTF-16からJISに変換して送るわけです。

さて、UTF-16で保持している情報に対して、JISではどういうバイト列になっているのかなというのを知りたいとき、StringクラスのgetBytes()メソッドを使います。

String str = "あ";
byte[] bytes = str.getBytes("JIS");
これでバイトの配列が取れます。

そして、String str2 = new String(str, "JIS");
とすると、元のStringの値が作れます。

で、この部分を
String str2 = new String(str);
とも書けるんですが、その場合、文字コードはデフォルトの文字コードが適用されます。システムプロパティのfile.encodingっていうやつ。

でなんか、上で書いたようなのが実際に使われてて、それが、開発時はMS932、運用時はEUC-JP、そして今回UTF-8になります。

つまり、new String(str)は、元の文字にならないんです。

なんなの?これ。。

でここからは、もう解説しません。わからないから。ただ、こうなってんのかーと確認できるコードだけ載せておきます。もしかしたら興味ある人がいるかもだし。

import java.io.UnsupportedEncodingException;

public class Test2 {
public static void main(String[] args) throws UnsupportedEncodingException {
// TODO Auto-generated method stub
String str = "あ";
byte[] bytes3 = str.getBytes("MS932");
print("MS932 bytes",bytes3);
bytes3 = str.getBytes("UTF-8");
print("UTF-8 bytes",bytes3);
bytes3 = str.getBytes("UTF-16");
print("UTF-16 bytes",bytes3);

byte[] bytes = str.getBytes("JIS");
String back = new String(bytes, "JIS");
//System.out.println(back);
print("JIS bytes",bytes);

back = new String(bytes, "UTF-8");
byte[] bytes2 = back.getBytes("UTF-8");
print("JIS bytes -> encode by UTF-8 -> UTF-8 bytes",bytes2);

back = new String(bytes, "UTF-16");
bytes2 = back.getBytes("UTF-16");
print("JIS bytes -> encode by UTF-16 -> UTF-16 bytes",bytes2);

back = new String(bytes, "UTF-8");
bytes2 = back.getBytes("JIS");
print("JIS bytes -> encode by UTF-8 -> JIS bytes",bytes2);

back = new String(bytes, "MS932");
bytes2 = back.getBytes("JIS");
print("JIS bytes -> encode by MS932 -> JIS bytes",bytes2);

back = new String(bytes, "EUC-JP");
bytes2 = back.getBytes("JIS");
print("JIS bytes -> encode by EUC-JP -> JIS bytes",bytes2);

back = new String(bytes, "UTF-16");
bytes2 = back.getBytes("JIS");
print("JIS bytes -> encode by UTF-16 -> JIS bytes",bytes2);
}

static void print(String msg, byte[] bytes) {
System.out.println("--------");
System.out.println("--"+msg);
System.out.println(bytes.length+" bytes");
for(byte b:bytes) {
System.out.printf("%02x", b);
}
System.out.println("\r\n");
}
}


そして、結果はこれ。
--------
--MS932 bytes
2 bytes
82a0
posted by pon at 19:50| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

【近況】初蹴りでした〜♪

多分、3週間ぐらい空いてるんですよ。だから全然動けないし走れないし止められないし。でも蹴るのはそこそこだった。

昨日、遅くまで飲んでたのもあって、歩いて帰って、風呂で寝ちゃって、もー大変。身体きっつい。

ま、ともかく今年もボールを蹴る生活が始まって嬉しいことです。

昨日あれだけ飲んだのに、今日もサル帰りにビール2缶買ってしまい、呑んでしまいました。で、なんかわかんないけど缶のまんま吞みたくてそうしました。

おわり。
posted by pon at 00:12| Comment(0) | TrackBack(0) | サッカー | このブログの読者になる | 更新情報をチェックする