Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как закодировать PDF-файл в Base64binary? / 25 сообщений из 52, страница 1 из 3
24.09.2018, 17:49
    #39707226
kat3181
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Добрый день.
Необходимо прочитать PDF-файл и закодировать его в base64binary.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
            string data_str = null;

            using (StreamReader sr = new StreamReader(@"C:\Users\...\file_pdf.pdf"))
            {
                data_str = sr.ReadToEnd();
            }

            byte[] byteData = Encoding.UTF8.GetBytes(data_str);
            string base64Data = System.Convert.ToBase64String(byteData);



Оно вроде кодируется, но что-то мне подсказывает, что неправильно.
Раньше доводилось кодировать pdf в base64 на PHP. Кодировалось так, как надо:

Код: php
1.
2.
            $data =file_get_contents('C:\Users\...\file_pdf.pdf');
            $base64Data =  base64_encode($data);



Но результат кодировки одной и той же пдф-ки на PHP и С# приведенными выше способами отличаются. Подскажите, в чем может быть проблема...
...
Рейтинг: 0 / 0
24.09.2018, 18:02
    #39707235
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
потому, что надо читать файл не как текстовый с кодировкой UTF8, а как бинарный, без всяких кодировок

Код: c#
1.
2.
var bytes = File.ReadAllBytes(@"Z:\Mapping Table Builder.exe");
var base64 = Convert.ToBase64String(bytes);
...
Рейтинг: 0 / 0
24.09.2018, 18:14
    #39707240
kat3181
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Roman Mejtes,

спасибо)))
...
Рейтинг: 0 / 0
24.09.2018, 18:17
    #39707244
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Roman Mejtesпотому, что надо читать файл не как текстовый с кодировкой UTF8, а как бинарный, без всяких кодировок

Код: c#
1.
2.
var bytes = File.ReadAllBytes(@"Z:\Mapping Table Builder.exe");
var base64 = Convert.ToBase64String(bytes);



жесть
...
Рейтинг: 0 / 0
24.09.2018, 18:21
    #39707245
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic Hunter,

в чем конкретно заключается жесть? вам не понятно, что это за типы? мне лично из названия переменных даже понятно
...
Рейтинг: 0 / 0
24.09.2018, 18:32
    #39707250
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Roman MejtesRelic Hunter,

мне лично из названия переменных даже понятноНу так это-же замечательно - узнавать типы переменных по названиям.
...
Рейтинг: 0 / 0
24.09.2018, 18:47
    #39707256
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic HunterНу так это-же замечательно - узнавать типы переменных по названиям.
Узнавать типы переменных - дурацкое занятие;) Узнавать нужно типы значений, которые им присваиваются, в данном случае - что возвращают File.ReadAllBytes и Convert.ToBase64String, а остальное - излишне.
...
Рейтинг: 0 / 0
24.09.2018, 19:05
    #39707264
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
LRRelic HunterНу так это-же замечательно - узнавать типы переменных по названиям.
Узнавать типы переменных - дурацкое занятие;) Узнавать нужно типы значений, которые им присваиваются, в данном случае - что возвращают File.ReadAllBytes и Convert.ToBase64String, а остальное - излишне.

Ну и как? Вот чатюсь я тут с вами в форуме, студия не запущена. Потому, что кому-то было лень написать тип, мне должно быть не лень запускасть студию, что-бы посмотреть кто и что там возвращает?
...
Рейтинг: 0 / 0
24.09.2018, 19:47
    #39707272
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic HunterПотому, что кому-то было лень написать тип, мне должно быть не лень запускасть студию, что-бы посмотреть кто и что там возвращает?
Писать сюда не лень? Гугл в MSDN не ищет?

Вроде все однозначно
Код: c#
1.
2.
var bytes = File.ReadAllBytes(@"Z:\Mapping Table Builder.exe");
var base64 = Convert.ToBase64String(bytes);
...
Рейтинг: 0 / 0
24.09.2018, 20:51
    #39707298
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic HunterНу и как? Вот чатюсь я тут с вами в форуме, студия не запущена. Потому, что кому-то было лень написать тип, мне должно быть не лень запускасть студию, что-бы посмотреть кто и что там возвращает?
Профессиональный программист знает что возвращают File.ReadAllBytes и Convert.ToBase64String. А вот тем, кто не знает, обязательно нужно посмотреть MSDN, помимо возвращаемого типа там много чего _необходимого_ нужно посмотреть. Т.е., указание типа для "ленивых" может указать медвежью услугу этим самым "ленивым" (незнание часто приводит к неправильному использованию), и, наоборот, использование var избавляет профессионалов от излишеств ;)
...
Рейтинг: 0 / 0
24.09.2018, 23:34
    #39707340
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
LRПрофессиональный программист знает что возвращают File.ReadAllBytes и Convert.ToBase64String.Поэтому Roman Mejtes напесал var нафсякей.

PS
Хватит песать чушь.
...
Рейтинг: 0 / 0
25.09.2018, 00:52
    #39707351
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
если правильно именовать методы, следовать паттернам и общепринятым стандартам, вопросов о том, какой тип, не возникает.
для новичка может быть тяжело разобраться в коде, не понимая такие вещи.
при вызове конструктора, тип объекта видно сразу, или если идет приведение к типу, всё расходится в рамках 1 экрана, использование var совсем не значит, что его нужно использовать повсеместно, нигилизм, ультиматизм это для молодых ) я устал от этого, каждый может, если ему хочется, поменять в моем коде var на тип, мне будет индифферентно. для простых типов всегда есть литерал, работаю не 1 год, никогда не было проблем с этим, даже сразу после введения фичи в какой то там версии C#.
...
Рейтинг: 0 / 0
25.09.2018, 01:14
    #39707353
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Чтобы усилить впечатление можнo dynamic попробовать.
...
Рейтинг: 0 / 0
25.09.2018, 01:26
    #39707354
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic HunterПоэтому Roman Mejtes напесал var нафсякей.

PS
Хватит песать чушь.
На var уходит существенно меньше нажатий клавиш, чем на прописывание типа, но после компиляции разницы не будет абсолютно никакой - этого достаточно, чтобы использовать var везде, где можно.
Relic HunterЧтобы усилить впечатление можнo dynamic попробовать.
А что общего между var и dynamic? Какая-то чушь, ну, либо шутка для тупых...
...
Рейтинг: 0 / 0
25.09.2018, 02:02
    #39707358
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
LR[На var уходит существенно меньше нажатий клавиш, чем на прописывание типа,
Неужели? Где меньше?
LRА что общего между var и dynamic? Какая-то чушь, ну, либо шутка для тупых...На тайпинге можно съэкономить, одна перемемнная на все случаи жизни.
...
Рейтинг: 0 / 0
25.09.2018, 04:32
    #39707367
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
короче, оказывается var придумали идиоты
...
Рейтинг: 0 / 0
25.09.2018, 06:05
    #39707378
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic HunterНа тайпинге можно съэкономить, одна перемемнная на все случаи жизни.
Экономьте дальше. Остальные люди представляют себе разницу между статическим и динамическим типизированием - в отличие от var vs type, где разницы нет абсолютно никакой, и компилятор и в том, и в другом случае генерирует абсолютно идентичный код.
Для особо сомневающихся в выборе есть рекомендации из букваря :

The var keyword can also be useful when the specific type of the variable is tedious to type on the keyboard, or is obvious, or does not add to the readability of the code.
...
However, the use of var does have at least the potential to make your code more difficult to understand for other developers. For that reason, the C# documentation generally uses var only when it is required.
P.S. var был введен 10 лет тому назад (в C# 3.0, MSVS 2008) - удивительно, что некоторые еще неотвозмущались по его поводу.
...
Рейтинг: 0 / 0
25.09.2018, 06:55
    #39707384
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Roman Mejtesтип объекта видно сразу, или если идет приведение к типу, всё расходится в рамках 1 экрана
+1

Roman Mejtes,
скажи спасибо что тебе псевдокод не написали)
...
Рейтинг: 0 / 0
25.09.2018, 09:05
    #39707430
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic HunterЧтобы усилить впечатление можнo dynamic попробовать.

Это идиотия насчёт var у вас, случайно, не из Java пришла?
...
Рейтинг: 0 / 0
25.09.2018, 09:34
    #39707456
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
hVosttRelic HunterЧтобы усилить впечатление можнo dynamic попробовать.

Это идиотия насчёт var у вас, случайно, не из Java пришла?
в Java ЭТО появилось только в этом году в Java версии 10).
...
Рейтинг: 0 / 0
25.09.2018, 10:01
    #39707484
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Petro123в Java ЭТО появилось только в этом году в Java версии 10).

Собственно вопрос приурочен к этому событию. Видимо до сих пор не отгремели холиворы.
...
Рейтинг: 0 / 0
25.09.2018, 10:29
    #39707498
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
hVostt,
)) да ))
...
Рейтинг: 0 / 0
25.09.2018, 18:53
    #39707936
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
18+
kat3181
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
            ///string data_str = null;
            var data_str = null;

            ///using (StreamReader sr = new StreamReader(@"C:\Users\...\file_pdf.pdf"))
            using (var sr = new StreamReader(@"C:\Users\...\file_pdf.pdf"))
            {
                data_str = sr.ReadToEnd();
            }

            ///byte[] byteData = Encoding.UTF8.GetBytes(data_str);
            ///string base64Data = System.Convert.ToBase64String(byteData);

            var byteData = Encoding.UTF8.GetBytes(data_str);
            var base64Data = System.Convert.ToBase64String(byteData);

...
Рейтинг: 0 / 0
25.09.2018, 19:08
    #39707944
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Relic Hunter18+
kat3181
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
            ///string data_str = null;
            var data_str = null;

            ///using (StreamReader sr = new StreamReader(@"C:\Users\...\file_pdf.pdf"))
            using (var sr = new StreamReader(@"C:\Users\...\file_pdf.pdf"))
            {
                data_str = sr.ReadToEnd();
            }

            ///byte[] byteData = Encoding.UTF8.GetBytes(data_str);
            ///string base64Data = System.Convert.ToBase64String(byteData);

            var byteData = Encoding.UTF8.GetBytes(data_str);
            var base64Data = System.Convert.ToBase64String(byteData);




в вашем коде ошибка, в 1 строке, даже не скомпилируется
...
Рейтинг: 0 / 0
25.09.2018, 19:34
    #39707956
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закодировать PDF-файл в Base64binary?
Roman MejtesRelic Hunter18+
пропущено...


в вашем коде ошибка, в 1 строке, даже не скомпилируетсяКакая ошибка? Это огромный косяк разработчиков VAR-а.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как закодировать PDF-файл в Base64binary? / 25 сообщений из 52, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]