忍者ブログ
natsuの秘密基地です
はまり
はまり一件ごとのお話の流れです
カレンダー
03 2020/04 05
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
プロフィール
HN:
natsu
性別:
男性
趣味:
酒など
自己紹介:
ここに書かれていることはフィクションです。
ブログ内検索
アクセス解析
[24] [23] [22] [21] [20] [19] [18] [17] [16] [15] [14
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

UTF-8で何バイト目だぜ。
って言われたときに、
それが何文字目か調べるメソッドがNSStringにあれば、
便利な気がした。
あと、何行目か、とか。
 
ついでに問答無用のテキストロードも実装したい。
stringWithContentsOfFileじゃ、
標準のエンコードじゃないとロードしないみたい。
Shift JISの方言だったっけ。


 
レッツ、カテゴリ。



関数を3つ追加することにした。
- (int)getLineNumber:(int)numberOfChar;
- (int)getNumberOfCharUTF8:(int)countOfByte;
+ (NSString *)loadText:(NSString *)fileName;
この3つ。

getLineNumberと getNumberOfCharUTF8は
なんとなく昨日の感じでいいんだと思う。


なんでもロードはどうしよう。

 
だもんで、
stringWithContentsOfFile:usedEncoding:error
なんかね。いかにもいけそうな感じじゃん。
ということでトライ。
 
結果としていけた。
UTF-8とUTF-16だけ。
 
EUCとShift JISのMac弁はだめ。
エンコード指定ならOKみたい。
 
 
こうなったらあたってくだけろ法しかないのか。
 
 
もしかしたら、ファイルを開いたけど、どんなエンコードだったか。
っていうのが後で解ると便利かもしれない。
 
いま、自分がやってることは、
「テキストなら読む。ただそれだけだ」
っていう方針なので、必要ないけど。
 
今回NSStringの拡張をカテゴリでやってるんだけども、
カテゴリはメソッドの拡張しか出来ないので、
新たな値を保持したい場合、継承をするしか無い。
MyNSStringが出来ちゃう、と。
 
そういった意味で、チョッチ機能追加。
っていうときにカテゴリっていうのは便利な気がする。
プチ拡張。みたいな。
メソッド上書きはちと怖いけど。
javascript好きにはたまんない機能だと思うよ。
よくわかんないけど。
 
 
今回のケースでは、もし、
ロードしたテキストのエンコードがなんだったのかが知りたい場合、
それをオブジェクト内に保持しなきゃなんないので、
カテゴリではなく継承を行うことになる。
 
staticでリストを持つの?
動的辞書でNSStringのポインタをキーにすればいいけど。
 
 
まあ、素直が一番だから。
 
 
 
ソースは"何でもロード"が出来上がったらあぷります。
 
PR
この記事にコメントする
NAME:
TITLE:
color:
MAIL:
URL:
COMMENT:
PASS: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:


Copyright (C) 2010 NEST,
All right Resieved.*Powered by ニンジャブログ *Designed by にこるん  / 忍者ブログ / [PR]