Line | |
---|
1 | module REXML
|
---|
2 | module Encoding
|
---|
3 | begin
|
---|
4 | require 'uconv'
|
---|
5 |
|
---|
6 | def decode_sjis content
|
---|
7 | Uconv::sjistou8(content)
|
---|
8 | end
|
---|
9 |
|
---|
10 | def encode_sjis(str)
|
---|
11 | Uconv::u8tosjis(str)
|
---|
12 | end
|
---|
13 | rescue LoadError
|
---|
14 | require 'nkf'
|
---|
15 |
|
---|
16 | SJISTOU8 = '-Swm0'
|
---|
17 | U8TOSJIS = '-Wsm0'
|
---|
18 |
|
---|
19 | def decode_sjis(str)
|
---|
20 | NKF.nkf(SJISTOU8, str)
|
---|
21 | end
|
---|
22 |
|
---|
23 | def encode_sjis content
|
---|
24 | NKF.nkf(U8TOSJIS, content)
|
---|
25 | end
|
---|
26 | end
|
---|
27 |
|
---|
28 | b = proc do |obj|
|
---|
29 | class << obj
|
---|
30 | alias decode decode_sjis
|
---|
31 | alias encode encode_sjis
|
---|
32 | end
|
---|
33 | end
|
---|
34 | register("SHIFT-JIS", &b)
|
---|
35 | register("SHIFT_JIS", &b)
|
---|
36 | end
|
---|
37 | end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.