private void appendBytes(StringBuilder sb, byte[] data, bool isTransferEncode, int encodeLevel) { if (data != null) { int newLength = (int)((data.Length + sb.Length) * BUFFER_MULTIPLIER); sb.EnsureCapacity(newLength); for (int i = 0; i <= data.Length; i += TransferEncodingHelper.LARGE_DATA_SIZE) { int end = i + TransferEncodingHelper.LARGE_DATA_SIZE; if (end > data.Length) { end = data.Length; } byte [] sub = SubArray(data, i, end); String tempString = System.Text.Encoding.ASCII.GetString(sub);; if (isTransferEncode) { TransferEncodingHelper.encode(tempString, sb, encodeLevel); } else { sb.Append(tempString); } } } }
public static String transferDecode(String value) { try { var s = TransferEncodingHelper.decode(value); return(s); } catch (Exception ex) { throw new ArgumentException("Error decoding string value '" + value + "'", ex); } }
public StringBuilder valueToEncodedString(object value, ClassicEncodingSettings settings, StringBuilder sb, int?encodeLevel) { string strVal = this.valueToString(value, settings); if (strVal == null) { return((settings == null || !settings.isUseVisibleSeparators()) ? sb.Append(DataTableUtils.DATA_TABLE_NULL) : sb.Append(DataTableUtils.DATA_TABLE_VISIBLE_NULL)); } if (this.isTransferEncode()) { TransferEncodingHelper.encode(strVal, sb, encodeLevel); } else { sb.Append(strVal); } return(sb); }
public StringBuilder encode(StringBuilder sb, ClassicEncodingSettings settings, bool isTransferEncode, int encodeLevel) { bool useVisibleSeparators = false; if (settings != null) { useVisibleSeparators = settings.isUseVisibleSeparators(); } char elStart = useVisibleSeparators ? DataTableUtils.ELEMENT_VISIBLE_START : DataTableUtils.ELEMENT_START; char elEnd = useVisibleSeparators ? DataTableUtils.ELEMENT_VISIBLE_END : DataTableUtils.ELEMENT_END; char elNameValSep = useVisibleSeparators ? DataTableUtils.ELEMENT_VISIBLE_NAME_VALUE_SEPARATOR : DataTableUtils.ELEMENT_NAME_VALUE_SEPARATOR; if (isTransferEncode) { TransferEncodingHelper.encodeChar(elStart, sb); if (name != null) { TransferEncodingHelper.encode(name, sb, 0); TransferEncodingHelper.encodeChar(elNameValSep, sb); } } else { sb.Append(elStart); if (name != null) { sb.Append(name); sb.Append(elNameValSep); } } if (encodable != null) { encodable.encode(sb, settings, isTransferEncode, encodeLevel); } else if (fieldFormat != null) { fieldFormat.valueToEncodedString(fieldValue, settings, sb, encodeLevel); } else { if (isTransferEncode) { TransferEncodingHelper.encode(value, sb, encodeLevel); } else { sb.Append(value); } } if (isTransferEncode) { TransferEncodingHelper.encodeChar(elEnd, sb); } else { sb.Append(elEnd); } return(sb); }
public static string transferEncode(string value) { return(TransferEncodingHelper.encode(value, 1)); }