プãƒã‚°ãƒ©ãƒ 言語 エンコード・デコード処ç†
エンコードã¨ã¯
符å·åŒ–
æ–‡å—ã«å¯¾ã—ã¦ã‚³ãƒ³ãƒ”ãƒ¥ãƒ¼ã‚¿ã§æ‰±ã†æ–‡å—コードï¼ã‚³ãƒ¼ãƒ‰(数値)を割り振る事
テã‚ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ã§æ–‡å—データを作æˆãƒ»ä¿å˜ã—ãŸéš›ã€
OS毎ã®å‰²ã‚ŠæŒ¯ã‚‰ã‚Œã‚‹æ–‡å—コードã¯ä»¥ä¸‹ã®é€šã‚Šã€‚
・Windows:Shift_JIS
・UNIX系:EUC
・Mac:Unicode
テã‚ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ã®æ©Ÿèƒ½ã«ã‚ˆã£ã¦ä¿å˜æ™‚ã®æ–‡å—コードを変更ã™ã‚‹äº‹ã¯å¯èƒ½
OSã«é–¢ã‚らãšUTF-8ãŒå›½éš›çš„ã«æ¨™æº–化ã•れã¤ã¤ã‚る。
特ã«HTML5ã§ã¯æŽ¨å¥¨ã•れる。
æ¼¢å—ã‚’UTF-8ã§ä¿å˜ã™ã‚‹ã¨å®¹é‡ãŒå¢—ãˆã‚‹ã¨ã„ã†å•題点ã‚り
XMLã§ã¯ã€XML宣言ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã®ç¨®é¡žã‚’明示的ã«è¡¨è¨˜ã™ã‚‹
<?xml version="1.0" encoding="Shift_JIS"?>
<a>~</a>
å‰²ã‚ŠæŒ¯ã‚‰ã‚ŒãŸæ–‡å—コードを解æžã—ã¦èªã¿è¾¼ã‚€äº‹ã‚’デコードã¨è¨€ã†ã€‚
å‰²ã‚ŠæŒ¯ã‚‰ã‚ŒãŸæ–‡å—コードã¨é•ã†æ–‡å—コードã§èªã¿è¾¼ã‚“ã å ´åˆã€æ–‡å—化ã‘ã™ã‚‹ã€‚
èªè¾¼
s = File.ReadAllLines(@"D:\~txt", Encoding.Default);
s = File.ReadAllLines(@"D:\~.txt", Encoding.GetEncoding(name: "Shift_JIS"));
s = File.ReadAllLines(@"D:\~.txt", Encoding.Unicode);
s = File.ReadAllLines(@"D:\~.txt", Encoding.UTF8);
書込
File.WriteAllLines(@"D:\~.txt", @"内容", Encoding.GetEncoding(name: "Shift_JIS"));
File.WriteAllLines(@"D:\~.txt", @"内容", Encoding.Unicode);
File.WriteAllLines(@"D:\~.txt", @"内容", Encoding.UTF8);
BASE64エンコード・デコード
BASE64ã¨ã¯ï¼Ÿ
ãƒã‚¤ãƒŠãƒªãƒ‡ãƒ¼ã‚¿â†’テã‚ストデータ
ã¸ã®å¤‰æ›æ–¹å¼
英数å—ã®ã¿ã§æ§‹æˆã•れる
æš—å·ã§ã¯ãªã„
import org.apache.commons.codec.binary.Base64;
public class base64test {
 public static void main(String[] args) {
  try{
   String after = encodeBase64("~");
  }
  catch ( ~ ){
   ~
  }
 }
 
 public static String encodeBase64(String before) throws IOException {
  byte[] out = Base64.encodeBase64(before.getBytes());
  return new String(out, "shift_jis");
 }
}
 after = encode("~")
 after = decode("~")
End Sub
'Base64æ–‡å—列ã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã™ã‚‹
Public Function encode(val As String) As String
 Dim objBase64 As Object
 Dim b() As Byte
 b = stringToByte(val)
 
 'Msxml2.DOMDocumentオブジェクト ï¼ XMLæ“作オブジェクト
 Set objBase64 = CreateObject("MSXML2.DOMDocument").createElement("b64")
 objBase64.DataType = "bin.base64"
 objBase64.nodeTypedValue = b
 encode = objBase64.text
 
 Set objBase64 = Nothing
End Function
'Base64æ–‡å—列をデコードã™ã‚‹
Public Function decode(val As String) As String
 Dim objBase64 As Object
 'Msxml2.DOMDocumentオブジェクト ï¼ XMLæ“作オブジェクト
 Set objBase64 = CreateObject("MSXML2.DOMDocument").createElement("b64")
 objBase64.DataType = "bin.base64"
 objBase64.text = val
 
 Dim b() As Byte
 b = objBase64.nodeTypedValue
 decode = byteToString(b)
 
 Set objBase64 = Nothing
End Function
'æ–‡å—列ãƒã‚¤ãƒˆåˆ—ã«å¤‰æ›ã™ã‚‹
Public Function stringToByte(ByVal strData As String) As Byte()
 Dim objStream As Object
 Set objStream = CreateObject("ADODB.Stream")
 
 objStream.Open
 objStream.Type = adTypeText
 objStream.Charset = "utf-8"
 objStream.WriteText strData
 
 objStream.Position = 0
 objStream.Type = adTypeBinary
 objStream.Position = 3
 stringToByte = objStream.Read
 
 objStream.Close
 Set objStream = Nothing
 
End Function