public static byte[] GetBytes(string data, int limit, Languages language) { data = CharacterEncoding.ConvertToLanguage(data, language); byte[] finalData = new byte[limit * 2]; for (int i = 0; i < data.Length; i++) { BigEndian.WriteUInt16(data[i], finalData, i * 2); } return(finalData); }
public static byte[] GetBytes(string data, int limit, Languages language = Languages.English) { data = CharacterEncoding.ConvertToLanguage(data, language); byte[] codeArray = new byte[limit]; string[] arrayFromCharArray = GBACharacterEncoding.CreateStringArrayFromCharArray(data.ToCharArray()); int index = 0; for (int i = 0; i < data.Length; i++) { string s = new string(data[i], 1); if (index != codeArray.Length) { if (language == Languages.Japanese && japaneseTable.Any <KeyValuePair <byte, string> >((KeyValuePair <byte, string> u) => u.Value == s)) { KeyValuePair <byte, string> keyValuePair = (from u in japaneseTable where u.Value == s select u).FirstOrDefault <KeyValuePair <byte, string> >(); codeArray[index] = keyValuePair.Key; index++; } else if (language != Languages.Japanese && englishTable.Any <KeyValuePair <byte, string> >((KeyValuePair <byte, string> u) => u.Value == s)) { KeyValuePair <byte, string> keyValuePair = (from u in englishTable where u.Value == s select u).FirstOrDefault <KeyValuePair <byte, string> >(); codeArray[index] = keyValuePair.Key; index++; } /*else { * codeArray[index] = 0; * } * index++;*/ } else { break; } } if (index < limit) { for (; index < limit; index++) { codeArray[index] = byte.MaxValue; } } return(codeArray); }