Для .Net здесь есть реализация: base36
UInt64ToBase36(147392524); //2FR4SS
UInt64ToBase36(147392525); //2FR4ST
Как сказал VolkerK, я бы предположил, что d - это идентификатор, возможно, просто для того, чтобы показать, что строка является числом base36, если она использует больше основ.