Если вы можете встать, добавив одну зависимость к вашему проекту, есть большой пакет blob-util
npm , который обеспечивает удобную функцию base64StringToBlob
. После добавления в package.json
вы можете использовать его следующим образом:
import { base64StringToBlob } from 'blob-util';
const contentType = 'image/png';
const b64Data = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
const blob = base64StringToBlob(b64Data, contentType);
// Do whatever you need with your blob...
Причина это не находится в limits.h, состоит в том, что это не количество, дающее пределы диапазона значений целочисленного типа на основе разрядной ширины на текущей архитектуре. Это - роль, присвоенная limits.h стандартом ISO.
Значение, которым Вы интересуетесь, не ограничено аппаратными средствами на практике и может варьироваться от платформы до платформы и возможно системной сборки к системной сборке.
Корректная вещь сделать состоит в том, чтобы звонить sysconf
и попросите у этого "ARG_MAX" или "_POSIX_ARG_MAX". Я думаю, что это - совместимое POSIX решение так или иначе.
Acc. к моей документации, Вы включаете один или оба из unistd.h или limits.h на основе того, какие значения Вы запрашиваете.
Еще одна точка: много реализаций семейства должностных лиц функций возвращают E2BIG или подобное значение, при попытке назвать их со средой увеличенного размера. Это - одно из определенных условий, при которых может на самом деле возвратиться должностное лицо.