Я должен предположить, что под "байтовым значением строки" вы подразумеваете байтовые значения, сгенерированные путем кодирования строки с заданной кодировкой.
Если это так, то переход с 32-битной архитектуры на64-битная архитектура не изменит результат.
Однако , если вы просто используете String.getBytes()
без аргументов для получения byte[]
, возвращаемое значение будетзависит от кодировки системы по умолчанию.Хотя это вряд ли будет отличаться между 32-битной и 64-битной версиями одной и той же ОС с одинаковыми настройками, кодировка системы по умолчанию может варьироваться в зависимости от многих других параметров (таких как язык пользовательского интерфейса, настроенный в вашей ОС), поэтому это всегдаХорошая идея - избегать этой проблемы, всегда указав определенную кодировку, например, такую:
byte[] bytes = myString.getBytes(StandardCharsets.UTF_8);
Этот вызов всегда будет выдавать одинаковые byte[]
при вызове с одинаковыми значениями myString
, независимо от того, какая ОС, архитектура илинастройка локали, на которой вы работаете.