Я не знаю, что ваш пример пытается мне сказать. Это красивый сайт, но мне не ясно, как он показывает вашу проблему. Мы, вероятно, предпочли бы увидеть несколько простых примеров кода того, что вы пытаетесь сделать.
В любом случае, поскольку вы пытаетесь манипулировать битами, а проблема зависит от платформы, не могли бы вы столкнуться с проблемой с прямым порядком байтов / прямым порядком байтов? http://www.cs.umass.edu/~Verts/cs32/endian.html
Это может быть далеко, но ваша библиотека Base64 может делать то, что не нравится Mac: (исходный код, размещенный Software Monkey здесь для декодирования, упоминает большой порядковый номер)
Еще одной проблемой, специфичной для платформы, могут быть окончания строки. Unix-подобные системы используют LF для завершения строк, тогда как Windows использует ( ref ). Не похоже, что у вас должны быть какие-либо новые строки в ваших данных изображения, но мы не видим ваши данные.
Вы также можете попробовать запустить несколько тестов. Попробуйте отправить несколько очень простых растровых изображений и посмотрите, как они отображаются. например, все черные пиксели, все белые пиксели, все красные, RGB / BRG / GBR и т. д. Если вы можете предсказать, как изображение искажается, это может быть подсказкой.