#module
#deffunc sjistoeuc val, val
mref euc, 24 : mref sjis, 25
strlen len, sjis
i = 0
repeat len
peek code, sjis, cnt
// CR + LF ¨ LF
if code = 13 : poke euc, i, 10 : i++ : continue cnt + 2
// 2ƒoƒCƒgE”¼ŠpƒJƒi•¶Žš
if code > 128 {
// ”¼ŠpƒJƒi‚Í2ƒoƒCƒg‚É‚·‚é
if code > 176 & (code < 224) {
poke euc, i, 142
poke euc, i + 1, code
i++
} else {
peek code.1, sjis, cnt + 1 // 2ƒoƒCƒg•¶Žš‚̉ºˆÊƒoƒCƒgŽæ“¾
if code.1 < 159 {
if code.0 < 160 : poke euc, i, code.0 * 2 - 97 : else : poke euc, i, code.0 * 2 - 225
if code.1 > 127 : poke euc, i + 1, code.1 + 96 : else : poke euc, i + 1, code.1 + 97
} else {
if code < 160 : poke euc, i, code * 2 - 96 : else : poke euc, i, code * 2 - 224
poke euc, i + 1, code.1 + 2
}
i += 2
continue cnt + 2
}
// 1ƒoƒCƒg•¶Žš
} else {
poke euc, i, code
}
i++
loop
return
#global
sdim file, 256
dialog "txt", 16, "•ÏŠ·‚µ‚½‚¢S-JIS(ANSI)Œ`Ž®‚̃tƒ@ƒCƒ‹"
if stat = 0 : end
notesel buf
noteload refstr
strlen size, buf
sdim buf2, size * 2 // EUC•ÏŠ·Œã‚̃TƒCƒY‚ðŒ³‚Ì2”{•ªŠm•Û‚µ‚Ä‚¨‚
sjistoeuc buf2, buf
dialog "txt",17,"•Û‘¶‚·‚éEUCŒ`Ž®‚̃tƒ@ƒCƒ‹–¼"
if stat {
dialog "•Û‘¶‚µ‚Ü‚µ‚½B\n‚d‚t‚bƒR[ƒh‚ð“ǂ߂éƒGƒfƒBƒ^‚ÅŠm”F‚µ‚Ä‚‚¾‚³‚¢B"
notesel buf2
notesave refstr
}
|