Недавно я прошел через небольшую проблему с моим приложением, которое в основном загружает строку и изображение с моего сайта, теперь оно отлично работает в редакторе Unity, но когда я создаю и запускаю, он больше не печатает изображение! Вот важный кодEncoding.Default не работает в Unity Player
byte[] data = sendMessage("https://mywebsite.com", values);
string ret = Encoding.Default.GetString(data);
var split = ret.Split(new string[] {"//"}, StringSplitOptions.None);
byte[] texdata = Encoding.Default.GetBytes(split[1]);
varstr = split[0];
texdata используется в tex.LoadImage(); и varstr сохраняется позже, теперь все работает отлично и денди, когда я в редакторе, но когда он построен, изображение показывает большой? (png недействителен), и varstr не возвращается должным образом. Я 100% уверен, что это кодировка, а когда просто делает
byte[] data = sendMessage("https://mywebsite.com", values);
byte[] texdata = data;
Где SendMessage() возвращает только изображение, а не строку, он отлично работает в сборке и в редакторе, большей степени, я попытался строки RET = Convert.ToBase64String (данные); но затем ret.Split(); возвращается
IndexOutOfRangeException: Индекс массива выходит за пределы допустимого диапазона.
Так что да, это в значительной степени, и я надеюсь, что у вас хороший день!
P.S: Мой сайт PHP и SendMessage() отлично работает
Думаю, вам удастся использовать отладчик и посмотреть фактические данные, чтобы узнать, что в редакторе отличается от времени выполнения. В противном случае заявления печати должны быть достаточно хорошими, чтобы отлаживать это. Некоторые конкретные вещи: для 'Split' не имеет смысла бросать' IndexOutOfRangeException', вы имели в виду 'split [1]'? Кроме того, есть база данных64? Не имеет смысла использовать 'ToBase64String', если это действительно так. Вероятно, у вас просто нет данных base64, что объясняет, почему нет никаких символов '/' при попытке конвертировать! – 31eee384
Да, мой плохой я имел в виду split [1] – Whiteclaws