package main
import (
"io/ioutil"
"os"
"path/filepath"
)
func main() {
for _, root := range []string{"/dir1","/dir2","/dir3"} {
walkDir(root)
}
}
func walkDir(dir string) {
for _, entry := range getDirs(dir) {
if entry.IsDir() {
sub := filepath.Join(dir, entry.Name())
walkDir(sub)
} else {
}
}
}
func getDirs(dir string) []os.FileInfo {
entries, err := ioutil.ReadDir(dir)
if err != nil {
return nil
}
return entries
}
Это как? Кодировка к имени не имеет никакого отношения.мб выразился неправильно. В общем был файл с именем `файл.txt` в кодировке utf-8 я перекодировал его имя в кодировку 1251.
Раскодируют не обратно, и не в utf-8.Можно сказать перекодировал или хз какое слово нужно чтобы описать преобразование от 1251 к utf-8.
должны быть клиентские библиотеки-обертки на разных языках.Любой хороший сервис предоставляет rest-api (всё таки про сервис говорите), написать пару post-get запросов к сервису на любом популярном языке не вызывает проблем.
У библиотек есть одна проблема. Они работают только с тем языком (в лучшем случае - тем ABI, грубо говоря платформой), под которое они сделаны. И истинной кроссплатформенности особо нет.Ну и в чем проблема? Есть разные языки под разные задачи и есть разные ОС под те же разные задачи. Когда появляется реальная необходимость в переносимости либы/приложений это реализуют. Когда это никому не нужно этого не делают, т.к. это сложно и долго. Если вы спросите почему нет одной ОС для всех, можно спросить почему нет одного ЯП или одного фреймворка под JS, который будет уметь всё и иметь производительности как на языке C.
так тут вторая проблема, что нужно избежать создания временных файлов и читать из оперативной памяти.