Beispiel #1
0
 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);
 }
Beispiel #2
0
        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);
        }