[英]Java DataOutputStream reading value issue
who can say what is the problem?谁能说是什么问题?
Socket clientSocket = new Socket(hostname, port);
DataOutputStream os = new DataOutputStream(clientSocket.getOutputStream());
String value = "состав";
os.writeBytes( value);
it returns "A>AB02" instead of "состав", but it works fine with english words, i have tried to encode and decode value but result hasn't changed它返回“A>AB02”而不是“состав”,但它适用于英文单词,我尝试编码和解码值但结果没有改变
You need to use the Locale
object for Russia
while writing to the stream.在写入 stream 时,您需要为
Russia
使用Locale
object。
Replace代替
DataOutputStream os = new DataOutputStream(clientSocket.getOutputStream());
String value = "состав";
os.writeBytes( value);
with和
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
String value = "состав";
ps.printf(new Locale("ru"), "%s", value);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.