LINUX.ORG.RU

История изменений

Исправление Pentium02, (текущая версия) :

Вот работающее, на коленке за несколько минуток. Ищи, что ты делаешь не так

package main

import (
  "io/ioutil"
  "encoding/base64"
)

func main() {
  //Читаем png файл
  pngData, err := ioutil.ReadFile("sample.png")
  if err != nil {
    //ВСЕ ПРОПАЛО!!1!!ОДИНОДИН
    panic(err)
  }	

  //Кодируем в base64
  b64String := base64.StdEncoding.EncodeToString(pngData)	

  //Записываем результат кодирования
  err = ioutil.WriteFile("sample.b64", []byte(b64String), 0644)

  if err != nil {
    panic(err)
  }

  //Читаем base64
  b64Data, err := ioutil.ReadFile("sample.b64")
  if err !=nil {
    panic(err)
  }

  //Декодируем base64
  outPngData, err := base64.StdEncoding.DecodeString(string(b64Data))

  if err != nil {
    panic(err)
  }

  //Записываем результат декордирования
  err = ioutil.WriteFile("sample.out.png", outPngData, 0644)

  if err != nil {
    panic(err)
  }	
}

Исходная версия Pentium02, :

Вот работающее, на коленке за несколько минуток.

package main

import (
  "io/ioutil"
  "encoding/base64"
)

func main() {
  //Читаем png файл
  pngData, err := ioutil.ReadFile("sample.png")
  if err != nil {
    //ВСЕ ПРОПАЛО!!1!!ОДИНОДИН
    panic(err)
  }	

  //Кодируем в base64
  b64String := base64.StdEncoding.EncodeToString(pngData)	

  //Записываем результат кодирования
  err = ioutil.WriteFile("sample.b64", []byte(b64String), 0644)

  if err != nil {
    panic(err)
  }

  //Читаем base64
  b64Data, err := ioutil.ReadFile("sample.b64")
  if err !=nil {
    panic(err)
  }

  //Декодируем base64
  outPngData, err := base64.StdEncoding.DecodeString(string(b64Data))

  if err != nil {
    panic(err)
  }

  //Записываем результат декордирования
  err = ioutil.WriteFile("sample.out.png", outPngData, 0644)

  if err != nil {
    panic(err)
  }	
}