From the document "How Entities and Indexes are stored" (https://developers.google.com/appengine/articles/storage_breakdown/):
The first component of a key is the entity kind – the model or class name given to a model object (str). The next component is an ID (int64) or key name (str). Note that entities can have a numerical ID or key name but not both
So it sounds like the ID, if an integer is 64 bit, and I believe it is signed, so you would have 2^63 - 1 as the maximum value (9223372036854775807).
and from this part of the datastore (python) documentation: https://developers.google.com/appengine/docs/python/datastore/entities#Python_Assigning_identifiers
The Datastore can be configured to generate auto IDs using two different auto id policies:
The default policy generates a random sequence of IDs that are approximately uniformly
distributed. Each ID can be up to 16 digits long.
The legacy policy creates a sequence of non-consecutive smaller integer IDs.
This would be 16 decimal digits (and hence 16 characters in length)