powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как закодировать PDF-файл в Base64binary?
25 сообщений из 52, страница 1 из 3
Как закодировать PDF-файл в Base64binary?
    #39707226
kat3181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Необходимо прочитать 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
Как закодировать PDF-файл в Base64binary?
    #39707235
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому, что надо читать файл не как текстовый с кодировкой UTF8, а как бинарный, без всяких кодировок

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

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

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



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

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

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

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

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

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

PS
Хватит песать чушь.
На var уходит существенно меньше нажатий клавиш, чем на прописывание типа, но после компиляции разницы не будет абсолютно никакой - этого достаточно, чтобы использовать var везде, где можно.
Relic HunterЧтобы усилить впечатление можнo dynamic попробовать.
А что общего между var и dynamic? Какая-то чушь, ну, либо шутка для тупых...
...
Рейтинг: 0 / 0
Как закодировать PDF-файл в Base64binary?
    #39707358
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LR[На var уходит существенно меньше нажатий клавиш, чем на прописывание типа,
Неужели? Где меньше?
LRА что общего между var и dynamic? Какая-то чушь, ну, либо шутка для тупых...На тайпинге можно съэкономить, одна перемемнная на все случаи жизни.
...
Рейтинг: 0 / 0
Как закодировать PDF-файл в Base64binary?
    #39707367
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче, оказывается var придумали идиоты
...
Рейтинг: 0 / 0
Как закодировать PDF-файл в Base64binary?
    #39707378
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как закодировать PDF-файл в Base64binary?
    #39707384
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesтип объекта видно сразу, или если идет приведение к типу, всё расходится в рамках 1 экрана
+1

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

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

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

Собственно вопрос приурочен к этому событию. Видимо до сих пор не отгремели холиворы.
...
Рейтинг: 0 / 0
Как закодировать PDF-файл в Base64binary?
    #39707498
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
)) да ))
...
Рейтинг: 0 / 0
Как закодировать PDF-файл в Base64binary?
    #39707936
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как закодировать PDF-файл в Base64binary?
    #39707944
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как закодировать PDF-файл в Base64binary?
    #39707956
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesRelic Hunter18+
пропущено...


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


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