В HTML формах обычно используется multipart/form-data, можно почитать про эту кодировку. На PHP это делается с помощью
CURL или какой-либо библиотекой из
списка (проверял только некоторые из них), в любом случае будет использоваться всё та же multipart кодировка.
P.S. Само изображение никак не кодируется, оно просто пишется в строку, которая передаётся серверу, а multipart служит для разделения данных и указания дополнительных значений (тип, имя файла и т.п.) (наверное это хреновая формулировка, но суть должна быть ясна).