Class: CharDet::EscCharSetProber

Inherits:
CharSetProber show all
Defined in:
lib/rchardet/escprober.rb

Instance Attribute Summary

Attributes inherited from CharSetProber

#active

Instance Method Summary collapse

Methods inherited from CharSetProber

#filter_high_bit_only, #filter_with_english_letters, #filter_without_english_letters, #get_state

Constructor Details

#initializeEscCharSetProber

Returns a new instance of EscCharSetProber.



31
32
33
34
35
36
37
38
39
40
# File 'lib/rchardet/escprober.rb', line 31

def initialize
  super()
  @_mCodingSM = [ 
	CodingStateMachine.new(HZSMModel),
	CodingStateMachine.new(ISO2022CNSMModel),
	CodingStateMachine.new(ISO2022JPSMModel),
	CodingStateMachine.new(ISO2022KRSMModel)
  ]
  reset()
end

Instance Method Details

#feed(aBuf) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/rchardet/escprober.rb', line 65

def feed(aBuf)
  aBuf.each_byte do |b|
	c = b.chr
	for codingSM in @_mCodingSM
	  next unless codingSM
	  next unless codingSM.active
	  codingState = codingSM.next_state(c)
	  if codingState == EError
 codingSM.active = false
 @_mActiveSM -= 1
 if @_mActiveSM <= 0
   @_mState = ENotMe
   return get_state()
 end
	  elsif codingState == EItsMe
 @_mState = EFoundIt
 @_mDetectedCharset = codingSM.get_coding_state_machine()
 return get_state()
	  end
	end
  end

  return get_state()
end

#get_charset_nameObject



53
54
55
# File 'lib/rchardet/escprober.rb', line 53

def get_charset_name
  return @_mDetectedCharset
end

#get_confidenceObject



57
58
59
60
61
62
63
# File 'lib/rchardet/escprober.rb', line 57

def get_confidence
  if @_mDetectedCharset
	return 0.99
  else
	return 0.00
  end
end

#resetObject



42
43
44
45
46
47
48
49
50
51
# File 'lib/rchardet/escprober.rb', line 42

def reset
  super()
  for codingSM in @_mCodingSM
	next if not codingSM
	codingSM.active = true
	codingSM.reset()
  end
  @_mActiveSM = @_mCodingSM.length
  @_mDetectedCharset = nil
end