短消息: 我有一個UTF NSString和一個字節偏移量。我想知道該字節偏移處的字符。我能怎麼做?從字節偏移量中檢測UTF NSString中的字符位置(是SQLite偏移量()和編碼問題)
下面是一個很長的故事,如果你敢:
根據this文檔偏移()函數返回字節項的列中的偏移。我編制了一些文本索引,並在顯示結果時使用該偏移指向文本的特定部分。
關鍵問題是使用這個字節偏移量我無法指出該術語的正確位置。有時它指向正確,有時距離正確點3/4字符。
我的表是非常簡單的:
CREATE VIRTUAL TABLE t1 USING fts4(file, body, page);
如果我做一個查詢,如:
SELECT page, body, offsets(t1) from t1 where body match 'and';
我收到:
...........
502|1 0 427 3
505|1 0 370 3 1 0 1307 3 1 0 1768 3
506|1 0 10 3 1 0 1861 3 1 0 2521 3
...........
舉個例子,如果我點爲char身體的427我沒有得到'和'的正確位置,但是我跳了2/3個字符。如果我去370,同樣如果我去10,我會得到正確的位置。
我在哪裏錯了?