1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| sjisToEucStr result |
sjisToEucStr := [:sjisStr |
    | str |
    str := sjisStr convertFromEncoding: #sjis.
    str convertToEncoding: #eucjp].

result := sjisToEucStr value: ('あいう' convertToEncoding: #sjis).
^result asByteArray   "=> a ByteArray(164 162 164 164 164 166) "


| sjisToEucFileNamed result line |
sjisToEucFileNamed := [:in :out |
    in := FileStream oldFileNamed: 'in.sjis'.
    in converter: (TextConverter newForEncoding: #sjis).
    out := FileStream newFileNamed: 'out.euc'.
    out converter: (TextConverter newForEncoding: #eucjp).
    [(line := in nextLine) notNil] whileTrue: [out nextPutAll: line; cr].
    in close.  out close].

sjisToEucFileNamed value: 'in.sjis' value: 'out.euc'.
result := FileStream oldFileNamed: 'out.euc'.
result binary.
^result contentsOfEntireFile   "=> a ByteArray(164 162 164 164 164 166 13) "