diff --git a/ndn-cpp/c/name.c b/ndn-cpp/c/name.c
index a81fbb3..d6864e9 100644
--- a/ndn-cpp/c/name.c
+++ b/ndn-cpp/c/name.c
@@ -7,6 +7,34 @@
 #include "util/ndn_memory.h"
 #include "name.h"
 
+uint64_t ndn_NameComponent_toNumber(struct ndn_NameComponent *self)
+{
+  uint64_t result = 0;
+  size_t i;
+  for (i = 0; i < self->value.length; ++i) {
+    result *= 256;
+    result += (uint64_t)self->value.value[i];
+  }
+  
+  return result;
+}
+
+ndn_Error ndn_NameComponent_toNumberWithMarker(struct ndn_NameComponent *self, uint8_t marker, uint64_t *result)
+{
+  if (self->value.length == 0 || self->value.value[0] != marker)
+    return NDN_ERROR_Name_component_does_not_begin_with_the_expected_marker;
+  
+  uint64_t localResult = 0;
+  size_t i;
+  for (i = 1; i < self->value.length; ++i) {
+    localResult *= 256;
+    localResult += (uint64_t)self->value.value[i];
+  }
+  
+  *result = localResult;
+  return NDN_ERROR_success;
+}
+
 int ndn_Name_match(struct ndn_Name *self, struct ndn_Name *name)
 {
 	// This name is longer than the name we are checking it against.
