` ƒeƒLƒXƒg `
‚r‚i‚h‚r‚ð‚d‚t‚b‚ɕϊ·

‚g‚r‚o•W€‚ňµ‚¤‚r‚ˆ‚‰‚†‚”-‚i‚h‚r(‚r‚i‚h‚r)ƒR[ƒh‚ðA‚d‚t‚b(‚d‚t‚b-‚i‚o)‚ɕϊ·‚µ‚Ü‚·B
ƒAƒ‹ƒSƒŠƒYƒ€‚ÌŽd—l‚É‚æ‚èuú\ú]ú^ú_ú`úaúbúcúdúeúfúgú@úAúBúUv“™‚̕ϊ·‚Å‚«‚È‚¢•¶Žš‚ª‘¶Ý‚µ‚Ü‚·B
‘S‚Ă̕¶Žš‚ð•ÏŠ·‰Â”\‚É‚·‚éê‡A‹K‘¥‚É‚»‚®‚í‚È‚¢•¶Žš‚͌•ʂɕϊ·‚·‚é‚Ȃǂ̑Îô‚ðu‚¶‚Ä‚­‚¾‚³‚¢B
®A‰º‹LƒTƒ“ƒvƒ‹ƒ‚ƒWƒ…[ƒ‹‚ÍAƒoƒbƒtƒ@ƒI[ƒo[ƒtƒ[ƒgƒ‰ƒbƒv‚ðÝ‚¯‚Ä‚¢‚Ü‚¹‚ñ‚Ì‚ÅA
ƒGƒ‰[‚ðo‚³‚È‚¢‚½‚߂ɂàAÝ’èæ‚Ì•Ï”ƒTƒCƒY‚͑傫‚­Šm•Û‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚è‚Ü‚·B
‚d‚t‚bƒR[ƒh‚ÍA‰üs‚ª‚PƒoƒCƒg‚Åς݂܂·‚ªA”¼ŠpƒJƒi‚Í‚QƒoƒCƒg‚ƂȂè‚Ü‚·‚Ì‚ÅA
Ý’èæ•Ï”ƒTƒCƒY‚ÍŒ³‚Ì•¶Žš—ñ•Ï”ƒTƒCƒY‚Ì‚Q”{•ª‚É‚µ‚Ä‚¨‚¯‚΃I[ƒo[ƒtƒ[‚µ‚Ü‚¹‚ñB
‚g‚r‚o‚R‚©‚ç‚ÍA‚g‚r‚o‚Ì‹@”\‚É‚æ‚胃‚ƒŠ‚ÌŽ©“®Šm•Û‹@”\‚ª‚ ‚è‚Ü‚·‚ªA
poke–½—ß‚ð—p‚¢‚Ä’¼Ú‘‚«ž‚ñ‚Å‚¢‚邽‚ßAƒoƒbƒtƒ@ƒTƒCƒY‚ÌŽ©“®Šg’£‚Ís‚¢‚Ü‚¹‚ñB’ˆÓ‚µ‚Ü‚µ‚傤B
	

sjistojis Ý’èæ•Ï”, •ÏŠ·Œ³•Ï”
Ý’èæ•Ï”•ÏŠ·‚µ‚½‚d‚t‚bƒR[ƒhƒeƒLƒXƒg‚ðŠi”[‚·‚é•Ï”‚ðŽw’è‚·‚éB
•ÏŠ·Œ³•Ï”‚d‚t‚bƒR[ƒh‚ɕϊ·‚·‚é‚r‚i‚h‚rƒR[ƒhƒeƒLƒXƒg‚ðŠi”[‚µ‚½•Ï”‚ðŽw’è‚·‚éB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#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
	}

sjistoeuc Ý’èæ•Ï”, •ÏŠ·Œ³•Ï”
Ý’èæ•Ï”•ÏŠ·‚µ‚½‚d‚t‚bƒR[ƒhƒeƒLƒXƒg‚ðŠi”[‚·‚é•Ï”‚ðŽw’è‚·‚éB
•ÏŠ·Œ³•Ï”‚d‚t‚bƒR[ƒh‚ɕϊ·‚·‚é‚r‚i‚h‚rƒR[ƒhƒeƒLƒXƒg‚ðŠi”[‚µ‚½•Ï”‚ðŽw’è‚·‚éB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#module
#deffunc sjistoeuc var euc, var sjis, local wbite, local i, local code
	repeat strlen(sjis)
			code = peek(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 + 0, 142
			    poke euc, i + 1, code
			    i++
			  } else {
			    code.1 = peek(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.0 < 160 : poke euc, i, code * 2 - 96 : else : poke euc, i, code.0 * 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
	sdim buf2, strlen(buf) * 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
	}
	end