У вас крайне расплывчатые представления о кодировках.

Никогда не пишите самостоятельно низкоуровневое взаимодействие. Во-первых, все давно написано за нас, во-вторых, каждое неверное движение может стоить вам <del>жизни</del> неделю дебага.
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#getBytes(java.nio.charset.Charset)