Refactor packet string charset
This commit is contained in:
@@ -47,12 +47,9 @@ public class ByteBufInPacket implements InPacket {
|
|||||||
@Override
|
@Override
|
||||||
public String readString() {
|
public String readString() {
|
||||||
short length = readShort();
|
short length = readShort();
|
||||||
char[] characters = new char[length];
|
byte[] stringBytes = new byte[length];
|
||||||
for(int i = 0; i < length; i++) {
|
byteBuf.readBytes(stringBytes);
|
||||||
characters[i] = (char) readByte();
|
return new String(stringBytes, STRING_CHARSET);
|
||||||
}
|
|
||||||
|
|
||||||
return String.valueOf(characters);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
package net.packet;
|
package net.packet;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.nio.charset.Charset;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
public interface OutPacket extends Packet {
|
public interface OutPacket extends Packet {
|
||||||
Charset STRING_CHARSET = StandardCharsets.US_ASCII;
|
|
||||||
|
|
||||||
void writeByte(byte value);
|
void writeByte(byte value);
|
||||||
void writeByte(int value);
|
void writeByte(int value);
|
||||||
void writeBytes(byte[] value);
|
void writeBytes(byte[] value);
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
package net.packet;
|
package net.packet;
|
||||||
|
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
public interface Packet {
|
public interface Packet {
|
||||||
|
Charset STRING_CHARSET = StandardCharsets.US_ASCII;
|
||||||
|
|
||||||
byte[] getBytes();
|
byte[] getBytes();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import org.junit.jupiter.api.BeforeEach;
|
|||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
@@ -82,7 +81,7 @@ class ByteBufInPacketTest {
|
|||||||
void readString() {
|
void readString() {
|
||||||
final String writtenString = "You have gained experience (+3200)";
|
final String writtenString = "You have gained experience (+3200)";
|
||||||
byteBuf.writeShortLE(writtenString.length());
|
byteBuf.writeShortLE(writtenString.length());
|
||||||
byte[] writtenStringBytes = writtenString.getBytes(StandardCharsets.US_ASCII);
|
byte[] writtenStringBytes = writtenString.getBytes(Packet.STRING_CHARSET);
|
||||||
byteBuf.writeBytes(writtenStringBytes);
|
byteBuf.writeBytes(writtenStringBytes);
|
||||||
|
|
||||||
String readString = inPacket.readString();
|
String readString = inPacket.readString();
|
||||||
|
|||||||
Reference in New Issue
Block a user