/// <summary> /// Convert string to byte array by charset type. /// </summary> /// <param name="data"> String data to convert to byte array. </param> /// <param name="charset"> Target charset type. </param> /// <returns> Byte array that had been converted. </returns> public static byte[] StringToBytes(string data, JCS_CharsetType charset) { switch (charset) { case JCS_CharsetType.DEFAULT: return Encoding.Default.GetBytes(data); case JCS_CharsetType.ASCII: return Encoding.ASCII.GetBytes(data); case JCS_CharsetType.UTF7: return Encoding.UTF7.GetBytes(data); case JCS_CharsetType.UTF8: return Encoding.UTF8.GetBytes(data); case JCS_CharsetType.UTF32: return Encoding.UTF32.GetBytes(data); case JCS_CharsetType.Unicode: return Encoding.Unicode.GetBytes(data); case JCS_CharsetType.BigEndianUnicode: return Encoding.BigEndianUnicode.GetBytes(data); } JCS_Debug.LogError("This shouldn't happens, charset `string to bytes`"); return null; }
/// <summary> /// Convert byte array to string by charset type. /// </summary> /// <param name="data"> Byte array data to convert to string data. </param> /// <param name="charset"> Target charset type. </param> /// <returns> String data that had been converted. </returns> public static string BytesToString(byte[] data, JCS_CharsetType charset) { switch (charset) { case JCS_CharsetType.DEFAULT: return(Encoding.Default.GetString(data)); case JCS_CharsetType.ASCII: return(Encoding.ASCII.GetString(data)); case JCS_CharsetType.UTF7: return(Encoding.UTF7.GetString(data)); case JCS_CharsetType.UTF8: return(Encoding.UTF8.GetString(data)); case JCS_CharsetType.UTF32: return(Encoding.UTF32.GetString(data)); case JCS_CharsetType.Unicode: return(Encoding.Unicode.GetString(data)); case JCS_CharsetType.BigEndianUnicode: return(Encoding.BigEndianUnicode.GetString(data)); } JCS_Debug.LogError("This shouldn't happens, charset `bytes to string`"); return(null); }
/// <summary> /// Turn byte array to text data. /// </summary> /// <param name="data"> Byte array will be use to convert to text data. </param> /// <param name="charset"> Target charset type. </param> /// <returns> String data that had been converted. </returns> public static string AsText(byte[] data, JCS_CharsetType charset) { return(JCS_Util.BytesToString(data, charset)); }