class CharDet::MultiByteCharSetProber
Public Class Methods
Source
# File lib/rchardet/mbcharsetprober.rb, line 33 def initialize super @distributionAnalyzer = nil @codingSM = nil @lastChar = "\x00\x00" end
Calls superclass method
CharDet::CharSetProber::new
Public Instance Methods
Source
# File lib/rchardet/mbcharsetprober.rb, line 54 def feed(aBuf) aLen = aBuf.length for i in (0...aLen) codingState = @codingSM.next_state(aBuf[i, 1]) if codingState == EError $stderr << "#{get_charset_name} prober hit error at byte #{i}\n" if $debug @state = ENotMe break elsif codingState == EItsMe @state = EFoundIt break elsif codingState == EStart charLen = @codingSM.get_current_charlen() if i == 0 @lastChar[1] = aBuf[0, 1] @distributionAnalyzer.feed(@lastChar, charLen) else @distributionAnalyzer.feed(aBuf[i-1, 2], charLen) end end end @lastChar[0] = aBuf[aLen-1, 1] if get_state() == EDetecting if @distributionAnalyzer.got_enough_data() and (get_confidence() > SHORTCUT_THRESHOLD) @state = EFoundIt end end return get_state() end
Source
# File lib/rchardet/mbcharsetprober.rb, line 85 def get_confidence return @distributionAnalyzer.get_confidence() end
Source
# File lib/rchardet/mbcharsetprober.rb, line 40 def reset super if @codingSM @codingSM.reset() end if @distributionAnalyzer @distributionAnalyzer.reset() end @lastChar = "\x00\x00" end
Calls superclass method
CharDet::CharSetProber#reset