System.IO.BinaryWriter окажется более близким.
Я не PHP-гуру (не использовал его в годах), но следующие вероятно, довольно близки по функциональности:
using System.IO;
using System.Text;
string xml = "the original data to pack";
using (MemoryStream ms = new MemoryStream())
{
using (BinaryWriter bw = new BinaryWriter(ms))
{
byte[] data = Encodings.ASCII.GetBytes(xml);
bw.Write((Int32)data.Length + 4); // Size of ASCII string + length (4 byte int)
bw.Write(data);
}
request = ms.ToArray();
}
Попробуйте echo %JAVA_HOME%
вместо echo $JAVA_HOME
.
Первый - для Windows (я предполагаю, что это окна, основанные на вашем пути к файлу), а тот, который вы используете, - для Linux.
В моем случае, когда я набрал «echo $ JAVA_HOME», я получал пустую информацию и решил ее, выполнив следующие инструкции:
$ vim .bash_profile
export JAVA_HOME = $ ( / usr / libexec / java_home)
$ source .bash_profile
$ echo $ JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Ссылка: https://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/