Desconozco que exista una función en ningún lenguaje para hacer eso.
Pueden diseñarse miles y miles de funciones... inútiles, no tiene sentido meter todas las ocurrencias en un lenguaje para que alguien las use 1 vez cada 5 años.
Precisamente por eso existe la programación, para implementar con las funcionalidad básica de un lenguaje aquello que de forma nativa no ofrece pero se necesita.
Aunque el asunto es que es son matemáticas de 10 años o así... y casi mejor que decirte otra cosa es decirte que regreses a parvulitos a estudiar aquella lección que se ve que te saltaste
// Se supone que el contenido del array serán valores comprendidos entre 0 y 9)
entero = funcion ConvertirArrayDeBytesAEntero(array de bytes valores() )
entero valor, k
bucle para k desde 0 hasta valores.count
valor += ((10 elevado a k) * valores(k))
fin bucle
devolver valor
fin funcion
Date cuenta, que si operamos con números (operaciones matemáticas) es preferible que el array de entrada sean también números. Si, sí o sí en origen tienes un array de cadenas, o lo conviertes previamente a un array de bytes, o haces la conversión en el propio bucle elemento a elemento, antes de realizar el cálculo.
Si el array es demasiado largo (en realidad suficientemente corto para la capacidad de un array), habrá un error de desbordamiento del entero, razón principal por la que nadie implementará tal función en un lenguaje... no pararía de generarse errores contínuamente día tras día.
Nada entorpece más (el futuro de) un lenguaje que funciones no acotadas, donde los principantes inundan las redes siempre con las mismas preguntas por no entender que están haciendo al usarlo inapropiadamente.
Si los valores son bytes (no cadenas, esto es un byte 0 tiene un valor numérico = 0, en cambio un string "0" es un byte de valor 48), pueden usarse funciones del lenguaje para copiar x bytes de un array a una variable, sin necesidad de ninguna conversión explícita. Se accede al puntero de memoria preciso, y desde ahí se copian al destino los bytes necesarios.
p.d.:
Por último señalar que si la función va a ser invocada constantemente, es más eficiente generar un array con las potencias de 10, al inicio del programa (un array estático), que recalcularlo en cada llamada a la función.
array estatico de enteros Potencias10(de 0 a 9) //con 10 alcanza hasta un valor de: 9.999.999.999
funcion InicializarPrograma
entero k
bucle para k desde 0 hasta 9
potencias10(k) = 10 elevado a la k
fin bucle
// o un código alternativo al bucle previo:
potencias10(0)= 1
bucle para k desde 1 hasta 9
potencias10(k) = (potencias10(k-1) * 10)
fin bucle
fin funcion
//y en la línea de la función anterior:
valor += (10 elevado a k) * valores(k)
// la remplazas por:
valor += (potencias10(k) * valores(k))