diff --git a/src/com/serotonin/modbus4j/locator/StringLocator.java b/src/com/serotonin/modbus4j/locator/StringLocator.java index 6825e33..c26e9de 100644 --- a/src/com/serotonin/modbus4j/locator/StringLocator.java +++ b/src/com/serotonin/modbus4j/locator/StringLocator.java @@ -100,7 +100,7 @@ public String bytesToValueRealOffset(byte[] data, int offset) { if (nullPos == -1) return new String(data, offset, length, charset); - return new String(data, offset, nullPos, charset); + return new String(data, offset, nullPos-offset, charset); } throw new RuntimeException("Unsupported data type: " + dataType); diff --git a/src_cdc/com/serotonin/cdc/modbus4j/locator/StringLocator.java b/src_cdc/com/serotonin/cdc/modbus4j/locator/StringLocator.java index 5c403e5..2845a7f 100644 --- a/src_cdc/com/serotonin/cdc/modbus4j/locator/StringLocator.java +++ b/src_cdc/com/serotonin/cdc/modbus4j/locator/StringLocator.java @@ -69,7 +69,7 @@ public Object bytesToValueRealOffset(byte[] data, int offset) { if (nullPos == -1) return new String(data, offset, length, charset); - return new String(data, offset, nullPos, charset); + return new String(data, offset, nullPos-offset, charset); } } catch (Exception e) {