Ну нормально. С такими ситуациями рано или поздно, но приходится сталкиваться. Преобразование такой строки в Unicode может давать самые разные результаты в зависимости от того, в какой локализации работать программа. Самый удобный способ это расширить строку нулями. Получив эдакий "не настоящий" Unicode. Типа "0", "Старший байт данных", "0", "Младший байт", "0", "Знаковый байт". Тогда пара "0" + байт будет пониматься как отдельный символ Unicode. За некоторыми исключениями. Типа 00 - конец строки и т.д. В целом самое правильное решение это преобразование данных перед обработкой. Ибо не сомневайтесь, что встретятся еще более экзотические варианты.